问题描述
我是SQL的新手,只是玩一些代码。想法是,此过程应将TABLE电影和COLUMN摘要中每一行的SET值循环为NULL,但它会返回错误:
#1064-您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册,以在'@MaxValue INT附近使用正确的语法; 声明@Counter INT; 在第4行的SET @MaxValue = SELECT MAX(id)FROM ...'
您能告诉我我在做什么错吗?
非常感谢您!
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