mysql - 为什么MYSQL中的循环过程返回错误?
问题描述
我对 SQL 比较陌生,只是在玩一些代码。这个想法是这个过程应该循环遍历 TABLE 电影并将 COLUMN 摘要中每一行的 SET 值设置为 NULL 但是它返回错误:
#1064 - 您的 SQL 语法有错误;查看与您的 MariaDB 服务器版本相对应的手册,了解在 '@MaxValue INT; 附近使用的正确语法;声明@Counter INT;SET @MaxValue = SELECT MAX(id) FROM ...' 在第 4 行
你能告诉我我做错了什么吗?
非常感谢!
DELIMITER //
CREATE PROCEDURE ReplaceSummary()
BEGIN
DECLARE @MaxValue INT;
DECLARE @Counter INT;
SET @MaxValue = SELECT MAX(id) FROM movies;
SET @Counter = 1;
WHILE @Counter <= @MaxValue DO
UPDATE movies SET summary = NULL WHERE id = @Counter;
SET @Counter = @Counter + 1;
END WHILE;
END //
DELIMITER ;
解决方案
UPDATE movies SET summary = NULL