我正在尝试创建存储过程但出现错误。存储过程如下所示
CREATE PROCEDURE addSection (IN sectionname varchar(50), IN sectiondetail varchar(50))
BEGIN
INSERT INTO inquiry (sectionname,sectiondetail,entrytime) VALUES (sectionname,sectiondetail,now());
END// delimiter;
但是我收到如下错误
Error Code: 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 '' at line 3 0.00026 sec
我正在使用 MySQL Workbench 6.3
请帮忙...
最佳答案
首先运行以下命令并将分隔符切换为//:
delimiter //
然后运行稍作修改的代码(比较最后一行):
CREATE PROCEDURE addSection (IN sectionname varchar(50), IN sectiondetail varchar(50))
BEGIN
INSERT INTO inquiry (sectionname,sectiondetail,entrytime) VALUES (sectionname,sectiondetail,now());
END//
如果不切换分隔符,当客户端看到插入语句末尾的分号时,它会认为过程的定义提前结束 - 这就是语法错误的原因。
您可以随时将分隔符切换回 ;通过这样做:
delimiter ;
关于MySQL 6.3 - 创建过程语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35674109/