mysql 存储过 update 语句没有作用,是本人写错了吗?应该怎么样写

MySql 码拜 9年前 (2016-02-08) 1004次浏览
代码如下:

BEGIN
DECLARE tmpName VARCHAR(20) DEFAULT "" ;  
DECLARE allName VARCHAR(255) DEFAULT "" ; 
DECLARE user_info VARCHAR(255) DEFAULT "";
  
/*开启游标*/
DECLARE cur1 CURSOR FOR SELECT id FROM test;
/*游标异常后捕捉*/
DECLARE CONTINUE HANDLER FOR SQLSTATE "02000" SET tmpname = NULL;
/*打开游标*/
OPEN cur1; 
/*游标向下一步*/
FETCH cur1 INTO tmpname;
/*循环游标*/
WHILE (tmpName IS NOT NULL ) DO
set user_info = (SELECT uid FROM test2 where uid = tmpName );
if tmpName = user_info then
/*得到uid*/
UPDATE test2 SET id=1 WHERE id = 1;   /*就是这一句没有执行,但是进入了 if 条件里面*/
SET tmpName = CONCAT(tmpName,":"); /*这里有执行*/
SET allName = CONCAT(allName,tmpname);
end IF;
/*游标再向下走,一直循环*/
FETCH cur1 INTO tmpName;
END WHILE; /*结束循环体*/
/*关闭游标*/
CLOSE cur1;
SELECT allName ;
END
解决方案

20

LZ是怎么样断定这一句没有执行的呢?

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明mysql 存储过 update 语句没有作用,是本人写错了吗?应该怎么样写
喜欢 (0)
[1034331897@qq.com]
分享 (0)