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)))
比如:
set @s= (select MD5(right((select uname from es_member where member_id=@i),6)))
#2
还是错误啊
#3
set s=*******************
----------------------
这行有问题吧,
----------------------
这行有问题吧,
#4
这明显是 sql server 的语法啊, 你写的是 mysql 的循环
mysql 怎么能用 sql server 的语法?
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)))
比如:
set @s= (select MD5(right((select uname from es_member where member_id=@i),6)))
#2
还是错误啊
#3
set s=*******************
----------------------
这行有问题吧,
----------------------
这行有问题吧,
#4
这明显是 sql server 的语法啊, 你写的是 mysql 的循环
mysql 怎么能用 sql server 的语法?
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
进来学习下~