MySQL 6.3 - 在语法中创建过程错误

时间:2016-02-27 19:03:57

标签: mysql sql-server stored-procedures mysql-workbench

我正在尝试创建存储过程但收到错误。存储过程如下所示

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

请帮忙......

1 个答案:

答案 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 ;