首页 > 解决方案 > 为什么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 ;

标签: mysqlsqlloopsmariadbprocedure

解决方案


UPDATE movies SET summary = NULL 

推荐阅读