Mysql存储过程错误

时间:2010-09-13 07:25:19

标签: mysql

我正在尝试将以下存储过程添加到我的mysql数据库中:

CREATE PROCEDURE logmsg ( _Username VARCHAR(50), _Message VARCHAR(80) )
BEGIN 
    INSERT INTO chatlogs (sender, message) VALUES (_Username, _Message);
END;

但它的查询失败并返回:

#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 

我一直在谷歌搜索大约2个小时,根本找不到任何答案。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:2)

虽然我不是100%肯定,因为我目前无法在MySQL服务器上进行测试,但我认为问题在于分号。在INSERT的行上,您基本上结束了CREATE PROCEDURE语句,这种语法的语法不正确。您必须将分隔符设置为其他内容(例如//),以便能够在过程正文中使用分号:

delimiter //

CREATE PROCEDURE logmsg ( _Username VARCHAR(50), _Message VARCHAR(80) )
BEGIN 
    INSERT INTO chatlogs (sender, message) VALUES (_Username, _Message);
END//

delimiter ;