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

时间:2022-06-24 12:23:33

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语句一直错误,可能格式出问题了,希望大家帮我看看。

7 个解决方案

#1


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)))

#2


还是错误啊 mysql循环将表中的字段修改数据

#3


set s=*******************
----------------------
这行有问题吧,

#4


这明显是 sql server 的语法啊, 你写的是 mysql 的循环
mysql 怎么能用 sql server 的语法?

#5


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;

#6


DECLARE s VARCHAR(32);
需要根据你实际情况设长度。

#7


进来学习下~

#1


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)))

#2


还是错误啊 mysql循环将表中的字段修改数据

#3


set s=*******************
----------------------
这行有问题吧,

#4


这明显是 sql server 的语法啊, 你写的是 mysql 的循环
mysql 怎么能用 sql server 的语法?

#5


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;

#6


DECLARE s VARCHAR(32);
需要根据你实际情况设长度。

#7


进来学习下~