MySQL 6.3 - 在语法中创建过程错误
Posted
技术标签:
【中文标题】MySQL 6.3 - 在语法中创建过程错误【英文标题】:MySQL 6.3 - Create Procedure Error in Syntax 【发布时间】: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 【参考方案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 ;
【讨论】:
以上是关于MySQL 6.3 - 在语法中创建过程错误的主要内容,如果未能解决你的问题,请参考以下文章