CREATE DEFINER=`root`@`localhost` PROCEDURE `Set_Val`()
BEGIN
DECLARE done INT DEFAULT FALSE;
DECLARE id varchar(10);
DECLARE cur CURSOR for SELECT id FROM HearthStone.Basic_enUS WHERE type !="Hero" and collectible = "True";
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
OPEN cur;
SET @uid = 0;
read_loop: LOOP
FETCH cur INTO id;
IF done THEN
LEAVE read_loop;
END IF;
INSERT into HearthStone.Basic_enUS (id) VALUES (@uid);
SET @uid = @uid + 1;
END LOOP;
CLOSE cur;
END
上面的代码运行时没有崩溃。如何没有行受到影响,我收到无数据检索错误。这条线
SELECT id FROM HearthStone.Basic_enUS WHERE type !="Hero" and collectible = "True";
是否返回数据。我不知道出了什么问题。我是MySQL脚本的新手。我试图循环遍历所有数据并填写id列。对于所有行,id列现在为空。我使用Workbench 6.2来运行脚本。