MySQL游标循环即使对于最简单的查询也不返回任何内容

MySQL游标循环即使对于最简单的查询也不返回任何内容,mysql,stored-procedures,Mysql,Stored Procedures,我是MySQL存储过程的新手。 我有一个MySQL存储过程,在这里我定义了一个游标,循环查询结果并将结果转换成字符串。问题是无论我做什么,我的字符串总是返回为null。你能告诉我是什么问题吗 CREATE DEFINER=`root`@`localhost` PROCEDURE `proc_findUsers`(in userid int) BEGIN DECLARE c_rowcount int default 0; DECLARE c_finished INT DEFAULT 0; DEC

我是MySQL存储过程的新手。 我有一个MySQL存储过程,在这里我定义了一个游标,循环查询结果并将结果转换成字符串。问题是无论我做什么,我的字符串总是返回为null。你能告诉我是什么问题吗

CREATE DEFINER=`root`@`localhost` PROCEDURE `proc_findUsers`(in userid int)
BEGIN

DECLARE c_rowcount int default 0;
DECLARE c_finished INT DEFAULT 0;
DECLARE my_uid INT DEFAULT 0;
DECLARE user_list VARCHAR(65535) DEFAULT ""; /*varchar max*/

DECLARE c_cursor CURSOR FOR select userID from mydb.mytable;

DECLARE CONTINUE HANDLER FOR NOT FOUND SET c_finished = 1;

OPEN c_cursor;
set c_rowcount = found_rows();
getuserIDs : LOOP
FETCH c_cursor INTO my_uid;
IF c_finished = 1 THEN
LEAVE getuserIDs;
END IF;
SET user_list = CONCAT(my_uid,user_list);
END LOOP getuserIDs;

CLOSE c_cursor;
set c_finished = 0;
select @user_list;
END
我安装了“MySQL调试器”,并逐步检查变量/参数的值。看起来程序运行正常。问题很简单也很愚蠢:) 在最后一行,我应该写“选择用户列表”,而不是“选择@user\u列表”。我一去掉@符号,它就像一个符咒。 MySQL版本5.6.17