mysql - Mysql 5.6.13 无法创建存储过程

标签 mysql amazon-web-services stored-procedures rds

我正在尝试在 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/

相关文章:

php - 如何从数据库获取数组

php - 输入 html 的月份不允许从数据库获取动态日期?

java - 无法在 java 动态 Web 项目(Eclipse、Tomcat)中更新 Mysql 数据库

node.js - AWS SSM 错误 : UnexpectedParameter: Unexpected key 'CloudWatchOutputConfig'

java - JDBC——没有足够的值

php - AWS Elastic Beanstalk : Running Cron. d 脚本,缺少环境变量

amazon-web-services - AWS sns 订阅过滤策略限制

sql - 按创建日期列出的所有存储过程?

c# - 有没有办法在没有 Entity Framework 的情况下从 C# 中的 SQL Server 映射存储过程?

c# - 在运行存储过程 C# 之前检查文本框或日期选择器是否已更改