我正在尝试创建存储过程但收到错误。存储过程如下所示
CREATE PROCEDURE addSection (IN sectionname varchar(50), IN sectiondetail varchar(50))
BEGIN
INSERT INTO inquiry (sectionname,sectiondetail,entrytime) VALUES (sectionname,sectiondetail,now());
END// delimiter;
但是我收到的错误如下所示
错误代码:1064。您的SQL语法有错误;查看与您的MySQL服务器版本相对应的手册,以获得在''附近使用的正确语法。在第3行0.00026秒
我正在使用MySQL Workbench 6.3
请帮忙......
答案 0 :(得分:0)
首先运行以下命令并将分隔符切换为//:
delimiter //
然后通过一个小修改运行你所拥有的(比较最后一行):
CREATE PROCEDURE addSection (IN sectionname varchar(50), IN sectiondetail varchar(50))
BEGIN
INSERT INTO inquiry (sectionname,sectiondetail,entrytime) VALUES (sectionname,sectiondetail,now());
END//
如果没有切换分隔符,当客户端在insert语句的末尾看到分号时,它认为过程的定义过早地结束了 - 这就是语法错误的原因。
您始终可以将分隔符切换回;通过做:
delimiter ;