gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 22:00:48 26 4
gpt4 key购买 nike

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

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调试器”并逐步检查变量/参数的值。看起来程序运行正常。这个问题既简单又愚蠢:)在最后一行,我应该写“select user_list”,而不是“select @user_list”。一旦我删除了@符号,它就像一个魅力。MySQL 版本 5.6.17。

关于MySQL 游标循环即使对于最简单的查询也不会返回任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32673086/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com