我正在尝试将以下存储过程添加到我的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个小时,根本找不到任何答案。
非常感谢任何帮助!
答案 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 ;