【发布时间】:2017-10-14 18:34:24
【问题描述】:
这个问题可能被标记为重复,但我真的需要帮助。
我已经经历了很多关于这个的答案,并实施了解决方案,但似乎没有任何效果。
创建存储过程时:
DELIMITER ##
DROP PROCEDURE IF EXISTS sp_AddCity##
CREATE PROCEDURE 'sp_AddCity'(IN aCityName VARCHAR(50))
BEGIN
INSERT INTO City(CityName)
VALUES (aCityName);
END##
DELIMITER ;
我总是收到错误 #1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 2 行的 'CREATE PROCEDURE 'sp_AddCity'(IN aCityName VARCHAR(50)) BEGIN INSERT INTO City' 附近使用正确的语法。
知道我的语法或任何错误在哪里吗?由于我是 MySQL 新手,所以一直在苦苦挣扎。
我正在使用 MySQL 服务器并尝试在 PHPMyAdmin 中使用 SQL 创建过程。
谢谢
【问题讨论】:
-
去掉单引号。仅对字符串和日期常量使用单引号。
-
@GordonLinoff 我刚刚尝试过,但仍然给我同样的错误信息。
-
如果您先尝试不使用 DROP 行会怎样?
-
@JacobH 成功了。有没有其他方法可以实现 DROP 行?我创建了一个小型 C# Winforms 应用程序来将我的 SQL Server 过程转换为 MySQL 服务器过程。它现在可以工作,但如果它已经存在,现在可能会弹出错误?
-
sp_AddCity ## 后是否需要一个空格和分隔符?这条线显然有问题。
标签: mysql sql stored-procedures