【问题标题】:MySQL 6.3 - Create Procedure Error in SyntaxMySQL 6.3 - 在语法中创建过程错误
【发布时间】:2016-06-10 23:46:04
【问题描述】:

我正在尝试创建存储过程但出现错误。存储过程如下

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

请帮忙...

【问题讨论】:

  • MySQL 不是 SQL Server

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


【解决方案1】:

先运行以下命令,将分隔符切换为 //:

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 ;

【讨论】:

    猜你喜欢
    • 2020-09-15
    • 1970-01-01
    • 2018-11-21
    • 1970-01-01
    • 2016-08-20
    • 2017-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多