MYSQL不支持包含多条语句的while循环
我试图在Mysql 5.6中安装一个过程,从Mysql工作台(版本6)启动命令。 我得到一个sintax错误,没有明显的原因。 如果我只是删除while循环中两个assignment中的一个,那么它就可以工作了。 为什么我不能在while中放两个语句MYSQL不支持包含多条语句的while循环,mysql,sql,stored-procedures,mysql-workbench,Mysql,Sql,Stored Procedures,Mysql Workbench,我试图在Mysql 5.6中安装一个过程,从Mysql工作台(版本6)启动命令。 我得到一个sintax错误,没有明显的原因。 如果我只是删除while循环中两个assignment中的一个,那么它就可以工作了。 为什么我不能在while中放两个语句 DELIMITER // CREATE PROCEDURE PROC (IN TABLE_ varchar(400)) BEGIN DECLARE Statement varchar(400) DEFAULT "
DELIMITER //
CREATE PROCEDURE PROC (IN TABLE_ varchar(400))
BEGIN
DECLARE Statement varchar(400) DEFAULT "";
DECLARE i INTEGER DEFAULT 1;
DECLARE N INTEGER DEFAULT 2;
while i <= N do
set Statement = 'a';
set i = i+1;
end while;
END
//
DELIMITER ;
分隔符//
创建过程PROC(在表\uvarchar(400)中)
开始
声明语句varchar(400)DEFAULT“”;
声明i整数默认值为1;
声明N个整数默认值为2;
虽然我知道您使用的是哪个mysql版本,但mysql 8.0.18对此程序没有问题。我正在尝试将其运行到mysql 5.6中。我看不到错误,可能有一些字符。这里没有出现。从您的问题中复制文本并重试。我认为这可能是您声明中的DEFUALT“”的问题。如果您不使用DEFUALT子句,那么初始值为NULL,因此我将尝试使用它。因为以后当您使用单引号设置语句时,它可能会出错。@jimmy_代码在本地重新创建时没有错误。