mysql循环将表中的字段修改数据

不会code的coder 2017-12-28 02:37:47

declare @i int
declare @s VARCHAR
set @i=5
while @i<18652
BEGIN
set @s= select MD5(right((select uname from es_member where member_id=@i),6))
update es_member set password=@s where es_member.member_id=@i
set @i=@i+1
end

我是准备根据用户名,也是手机号的后六位使用md5加密,生成密码。
再根据会员表中的id,将密码更新到表中,但是sql语句一直错误,可能格式出问题了,希望大家帮我看看。
...全文
2029 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
MyKelly728 2018-01-09
  • 打赏
  • 举报
回复
进来学习下~
Inter_Ares 2018-01-03
  • 打赏
  • 举报
回复
DECLARE s VARCHAR(32); 需要根据你实际情况设长度。
zjcxc 2018-01-02
  • 打赏
  • 举报
回复
CREATE PROCEDURE p_test()
BEGIN
	-- declare @i int;
	-- declare @s VARCHAR;
	set @i=5;
	while @i<18652 DO
		set @s= ( select MD5(right((select uname from es_member where member_id=@i),6)) );
		update es_member set password=@s where es_member.member_id=@i;
		set @i=@i+1;
	END WHILE;
END;
zjcxc 2018-01-02
  • 打赏
  • 举报
回复
这明显是 sql server 的语法啊, 你写的是 mysql 的循环 mysql 怎么能用 sql server 的语法?
ZHOU西口 2018-01-01
  • 打赏
  • 举报
回复
set s=******************* ---------------------- 这行有问题吧,
不会code的coder 2017-12-30
  • 打赏
  • 举报
回复
还是错误啊
听雨停了 2017-12-28
  • 打赏
  • 举报
回复
set @s= select MD5(right((select uname from es_member where member_id=@i),6))加上括号 比如: set @s= (select MD5(right((select uname from es_member where member_id=@i),6)))

56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧