首页 > 解决方案 > 分隔符不起作用,从 shell 运行 .sql 时出现“语法”错误

问题描述

我正在尝试制作一个简单的存储过程......经过一番探索,我发现我根本无法制作任何过程,即使是最简单的也不行。例如,从文档中运行此特定过程:

DELIMETER ;
DROP PORCEDURE IF EXISTS sp_dorepeat
DELIMETER //
CREATE PROCEDURE sp_dorepeat(p1 INT)
BEGIN
    SET @x = 0;
    REPEAT SET @x = @x + 1; UNTIL @x > p1 END REPEAT;
END //
DELIMETER ;

给我以下错误: 痛

这在每一行上基本上是相同的语法错误正如这里所建议的,更改 // 的 $$ 也没有任何效果。

值得知道的是,我以 root 身份运行 shell,所以没有任何限制。我的代码有什么问题吗?数据库是mysql 8.0

标签: mysqlshellsyntaxdelimiter

解决方案


当然可以,但要使用正确的关键字

分隔符 -> 分隔符

程序 -> 程序


推荐阅读