MySql过程中声明变量时出错
我正在尝试创建一个简单的存储过程,如下所示:MySql过程中声明变量时出错,mysql,sql,database,stored-procedures,Mysql,Sql,Database,Stored Procedures,我正在尝试创建一个简单的存储过程,如下所示: CREATE DEFINER = 'root'@'localhost' PROCEDURE testProcedure() BEGIN DECLARE variableAaa INT; DECLARE variableBbb INT; END 但我从MySql中得到这个错误: 您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 靠近1号线的“末端” 如果我更改变量名: DECLARE variableA
CREATE DEFINER = 'root'@'localhost'
PROCEDURE testProcedure()
BEGIN
DECLARE variableAaa INT;
DECLARE variableBbb INT;
END
但我从MySql中得到这个错误:
您的SQL语法有错误;检查手册
对应于您的MySQL服务器版本,以便使用正确的语法
靠近1号线的“末端”
如果我更改变量名:
DECLARE variableA INT;
DECLARE variableB INT;
我得到一个错误:
您的SQL语法有错误;检查手册
对应于您的MySQL服务器版本,以便使用正确的语法
第1行“DECLARE variableB INT”附近
等等:
DECLARE variableName INT;
DECLARE variableEmail INT;
您的SQL语法有错误;检查手册
对应于您的MySQL服务器版本,以便使用正确的语法
第1行“DECLARE variableEmail INT”附近
我在PhpMyAdmin中使用MySql 5.5.34,但在Sequel Pro中也是如此
我哪里错了?看起来这是一个你缺少的定界符问题 所以这个过程应该是这样的
delimiter //
CREATE DEFINER = 'root'@'localhost'
PROCEDURE testProcedure()
BEGIN
DECLARE variableAaa INT;
DECLARE variableBbb INT;
END ; //
delimiter ;
在这里,我在MySql上也尝试了同样的方法,效果很好
mysql> delimiter //
mysql> create procedure testProcedure()
-> begin
-> DECLARE variableAaa INT;
-> DECLARE variableBbb INT;
-> end; //
Query OK, 0 rows affected (0.02 sec)
mysql> delimiter ;
当使用phpMyAdmin时,我的代码必须以分隔符开头,即
在指定不同的分隔符(即本例中的/
)之前进行编码>。
将被视为独立的mysql语句,因此将过程和语句包含在中代码>您需要在过程和触发器之前定义一个分隔符,以便在处理分隔符内的所有内容时不会产生任何混乱。