gpt4 book ai didi

Mysql 陌生人语法错误 #1064

转载 作者:行者123 更新时间:2023-11-29 05:20:48 25 4
gpt4 key购买 nike

我已经搜索了 20 分钟,为什么我在 mySql 中收到此错误但找不到答案。

“#1064 - 您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本对应的手册,了解在第 5 行的 '' 附近使用的正确语法”

这是有问题的代码块:

CREATE PROCEDURE marouri_insert_users_emails()

BEGIN

DECLARE a INT;
DECLARE b char(16);
DECLARE cur1 CURSOR FOR SELECT id,name FROM glpi_users;

OPEN cur1;

read_loop: LOOP
FETCH cur1 INTO a,b;

IF a > 6 THEN
INSERT INTO glpi_useremails(users_id,is_default,is_dynamic,email) VALUES (a,1,0,CONCAT(b, '@alomrane.ma');
END IF;
END LOOP;
CLOSE cur1;
END;

mysql 顺便说一句,新手。提前致谢。

最佳答案

对于过程或函数或触发器中的多个语句,您必须设置除; 之外的另一个分隔符。否则 MySQL 认为,您的过程在第一个 ; 之后完成,这会导致语法错误。像这样尝试:

DELIMITER $$
CREATE PROCEDURE marouri_insert_users_emails()

BEGIN

DECLARE a INT;
DECLARE b char(16);
DECLARE cur1 CURSOR FOR SELECT id,name FROM glpi_users;

OPEN cur1;

read_loop: LOOP
FETCH cur1 INTO a,b;

IF a > 6 THEN
INSERT INTO glpi_useremails(users_id,is_default,is_dynamic,email) VALUES (a,1,0,CONCAT(b, '@alomrane.ma');
END IF;
END LOOP;
CLOSE cur1;
END$$
DELIMITER ;

哦,当游标找不到更多行时,您可能想声明一个继续处理程序来处理这种情况。请参阅according manual page例如。

关于Mysql 陌生人语法错误 #1064,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26119708/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com