为什么MYSQL中的Loop Procedure返回错误?

问题描述

我是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 

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...