而在 MYSQL 脚本中不是 SP 或函数 [重复]

while in MYSQL Script not SP or function [duplicate]

提问人:Pritesh 提问时间:9/29/2023 更新时间:9/29/2023 访问量:18

问:

我正在尝试在MySQL脚本中实现循环功能,但下面抛出错误。

set @sd = '2021-04-09';
set @ed = '2023-09-27';

WHILE @sd <= @ed DO
    SET @sd = DATE_ADD(@sd, INTERVAL 1 DAY)
END while;

错误代码:1064。您的 SQL 语法有错误;查看与您的MySQL服务器版本相对应的手册,了解在'WHILE @sd <= @ed DO附近使用的正确语法 设置@sd = DATE_ADD(@sd,间隔 1 天) 第 1 行的 END while'

mysql while循环 语法错误

评论

0赞 Bill Karwin 9/29/2023
复合语句仅在存储例程的 / 块中受支持。我链接到一个重复的问题——这个问题是关于条件语句的,但同样的答案也适用于循环或任何其他复合语句。链接的答案包括指向 MySQL 文档的链接。BEGINENDIFWHILE

答:

0赞 O. Jones 9/29/2023 #1

您正在尝试在 SP 外部使用 MySQL 循环/条件控制。你不能那样™做。