我试图WHILE在MySQL v5.7中使用循环并不断收到语法错误。我还没有发现问题。根据文档,语法看起来正确。
我在这里找到了一个建议将语句包装在DELIMITER中的线程,但这也不起作用。代码是:
SET @counter = 1;
WHILE (@counter < 2) DO
SELECT @counter;
@counter = @counter + 1;
END WHILE
Run Code Online (Sandbox Code Playgroud)
错误消息是:
第22行的错误1064(42000):您的SQL语法有错误;在第1行的“ WHILE(@counter <2)DO SELECT @counter'附近使用”,检查与您的MySQL服务器版本相对应的手册以使用正确的语法。
我想念什么?
据我记得,您不能像那样使用WHILE LOOP。您必须将其放入存储过程中,如下所示:
CREATE PROCEDURE mysp()
BEGIN
DECLARE counter int DEFAULT 1;
WHILE counter < 2 DO
SET counter = counter + 1;
END WHILE;
END
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
467 次 |
| 最近记录: |