我正在尝试在 MYSQL 5.6.13 中创建一个简单的存储过程
create procedure create_logger_id(IN mobile BIGINT)
BEGIN
SELECT COUNT(*) INTO mobile FROM USER_REG_TYPE;
END
但出现此错误:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 3 行 '' 附近使用的正确语法
我什至尝试了delimiter//
、DECLARE mobile INT
和其他一些方法,所有这些都会导致相同的错误。
MYSQL 服务器托管在 AWS RDS 上(添加此信息以了解是否存在已知问题)
更新: 如果我尝试
DELIMITER //;
CREATE PROCEDURE create_logger_id(IN mobile BIGINT)
BEGIN
SELECT COUNT(*) INTO mobile FROM USER_REG_TYPE;
END //
DELIMITER ;
我收到以下错误
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 'DELIMITER //' at line 1
最佳答案
您需要添加分隔符。
DELIMITER //
CREATE PROCEDURE create_logger_id(IN mobile BIGINT)
BEGIN
SELECT COUNT(*) INTO mobile FROM USER_REG_TYPE;
END //
DELIMITER ;
我想鼓励您阅读更多有关分隔符的内容:Delimiters in MySQL
关于mysql - Mysql 5.6.13 无法创建存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51874441/