mysql中如何直接写一个for while循环执行update的sql?
网友回复
可以写一个mysql存储过程,然后call 这个存储过程就行了
示例如下:
-- 使用数据库 use database; -- 删除旧的存储过程(相当于函数) DROP PROCEDURE if EXISTS `generatePoint`; -- 定义结束语句 DELIMITER $$ -- 定义新的存储过程 create PROCEDURE `generatePoint`() BEGIN -- 定义结束标志 DECLARE flag int default 0; DECLARE pid int; /* 每条记录的临时id */ -- 获取循环范围 DECLARE idList CURSOR for(select id from world_county); -- 当idList循环完毕,设置结束标志flag为1 DECLARE continue handler for not found set flag = 1; -- 开始循环idList open idList; REPEAT -- 拉取idList的值到pid fetch idList into pid; if not flag then -- 更新数据 update world_county set location = pointfromtext(CONCAT('POINT(',lon,' ',lat,')')) where id = pid; end if; -- 结束循环 UNTIL flag END REPEAT; close idList; end $$ DELIMITER ; -- 执行函数 CALL generatePoint(); -- 删除函数 DROP PROCEDURE generatePoint;
如果对uniapp打包生成的ios安装包ipa进行混淆加密加壳保护?
局域网中多台电脑如何不插拔usb实现鼠标键盘共享?
nc如何实现反向shell?
ai如何根据别人朋友圈拍摄的照片获取经纬度信息?
如何将llama3接入Siri?
js如何获取浏览器canvas指纹?
如何使用用js写一个字符串位移加密传给后端php解密?
Selenium打开网页模拟点击页面按钮的e.trusted是true吗?
听说Gemini 1.5 Flash能根据你的录屏操作网页视频生成Selenium代码?
coze Webhook URL发送触发器报错:{"code":41001004,"data":{"items":[]},"items":[],"message":"RecordNotFound:Pl