这个问题可能被标记为重复,但我真的需要帮助。
关于这一点,我已经做了很多回答,并实施了解决方案,但似乎没有任何效果。
创建存储过程时:
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行“创建过程”(在aCityName VARCHAR(50)中)附近使用的正确语法“开始插入城市”。
知道我的语法或错误在哪里吗?由于我刚加入MySQL,我已经挣扎了一段时间。
我正在使用MySQL服务器,并试图使用PHPMyAdmin中的SQL创建过程。
谢谢
发布于 2017-05-16 11:24:50
在MySQL中,存储过程按预期创建:
mysql> SELECT VERSION();
+-----------+
| VERSION() |
+-----------+
| 5.7.18 |
+-----------+
1 row in set (0.00 sec)
mysql> DELIMITER ##
mysql> DROP PROCEDURE IF EXISTS `sp_AddCity`##
Query OK, 0 rows affected (0.00 sec)
mysql> CREATE PROCEDURE `sp_AddCity`(IN `aCityName` VARCHAR(50))
-> BEGIN
-> INSERT INTO `City`(`CityName`)
-> VALUES (`aCityName`);
-> END##
Query OK, 0 rows affected (0.00 sec)
mysql> DELIMITER ;
mysql> CALL `sp_AddCity`('CityName');
ERROR 1146 (42S02): Table '_.City' doesn't exist在phpMyAdmin中,您必须设置DELIMITER,如图像中所示:

https://stackoverflow.com/questions/43988560
复制相似问题