mqsql语句执行出现语法错误怎么处理
求问各位大佬,我这边有个py脚本,通过调用AI写了一个存储过程,对AI生成的结果进行筛选后,连接本地数据库让其自动执行,在执行时出现报错,如红字所示:This will insert 6 records with `id` set to '55' and `name` set to 'rer' into the table `qqq`.
正则匹配的结果:DELIMITER //
CREATE PROCEDURE gfd()
BEGIN
DECLARE i INT DEFAULT 0;
WHILE i < 6 DO
INSERT INTO qqq (id, name) VALUES (`55`, `rer`);
SET i = i + 1;
END WHILE;
END //
DELIMITER ;
An error occurred: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DELIMITER' at line 1")
请问需要怎么修改脚本使这个存储过程能成功执行,这是在python窗口打印出来的
因为 DELIMITER 命令不是 SQL 语句的一部分,而是 MySQL 客户端工具(如 MySQL 命令行客户端)中的命令。因此,当你在 SQL 脚本中使用它时,会导致语法错误。
要解决这个问题,你需要确保在执行存储过程定义之前和之后正确设置和恢复分隔符。以下是修正后的代码:
-- 设置新的分隔符为 //
DELIMITER //
CREATE PROCEDURE gfd()
BEGIN
DECLARE i INT DEFAULT 0;
WHILE i < 6 DO
INSERT INTO qqq (id, name) VALUES (55, 'rer');
SET i = i + 1;
END WHILE;
END //
-- 恢复默认的分隔符为 ;
DELIMITER ;
我也是问的ai 本帖最后由 Cristy 于 2024-11-8 17:44 编辑
试了下楼上的没报错
页:
[1]