Mysql创建存储过程时出现ERROR 1064错误
2017-10-19 15:40
691 查看
ERROR 1064 (42000):ERROR 1064 (42000): 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 'DECLARE i INT DEFAULT 0' at line 1
创建存储过程时,报错了。
[sql] view
plain copy
DROP PROCEDURE IF EXISTS GameServerMergePro;
CREATE PROCEDURE `GameServerMergePro` (
IN dbSchema VARCHAR(50) character set utf8,
IN sName VARCHAR(50) character set utf8,
OUT error_code INT
)
begin
DECLARE ddddi INT DEFAULT 0;
end;
琢磨了半天,原来Mysql解释器一遇到;号时就结束,回车以后就执行了。但是现在并不希望Mysql这么做,因为存储过程中可能包含很多分号的语句,所以怎么办了,很简单Mysql给我们提供了delimiter关键字,delimiter作用就是把;分号替换成指定的符号,比如//或$$。当再出现//或$$时,Mysql解释器才会执行命令。
脚本改成下面之后,执行就不会报错了。
[sql] view
plain copy
DELIMITER //
DROP PROCEDURE IF EXISTS GameServerMergePro;
CREATE PROCEDURE `GameServerMergePro` (
IN dbSchema VARCHAR(50) character set utf8,
IN sName VARCHAR(50) character set utf8,
OUT error_code INT
)
begin
DECLARE ddddi INT DEFAULT 0;
end;
//
DELIMITER ;
use near 'DECLARE i INT DEFAULT 0' at line 1
创建存储过程时,报错了。
[sql] view
plain copy
DROP PROCEDURE IF EXISTS GameServerMergePro;
CREATE PROCEDURE `GameServerMergePro` (
IN dbSchema VARCHAR(50) character set utf8,
IN sName VARCHAR(50) character set utf8,
OUT error_code INT
)
begin
DECLARE ddddi INT DEFAULT 0;
end;
琢磨了半天,原来Mysql解释器一遇到;号时就结束,回车以后就执行了。但是现在并不希望Mysql这么做,因为存储过程中可能包含很多分号的语句,所以怎么办了,很简单Mysql给我们提供了delimiter关键字,delimiter作用就是把;分号替换成指定的符号,比如//或$$。当再出现//或$$时,Mysql解释器才会执行命令。
脚本改成下面之后,执行就不会报错了。
[sql] view
plain copy
DELIMITER //
DROP PROCEDURE IF EXISTS GameServerMergePro;
CREATE PROCEDURE `GameServerMergePro` (
IN dbSchema VARCHAR(50) character set utf8,
IN sName VARCHAR(50) character set utf8,
OUT error_code INT
)
begin
DECLARE ddddi INT DEFAULT 0;
end;
//
DELIMITER ;
相关文章推荐
- Mysql创建存储过程时,出现ERROR 1064 (42000) delimiter
- Mysql创建存储过程时,出现ERROR 1064 (42000):的原因的一种
- mysql创建存储过程时ERROR 1064 (42000)的解决办法
- 创建存储过程错误(已解决):Error Code : 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server ver
- 安装MySQL-python-1.2.3c1出现“error: command 'gcc' failed with exit status 1”错误
- Mac下mysql出现错误:ERROR 1055 (42000)
- ubuntu14.04 mysql升级到5.7版本出现GPG error错误解决办法
- MySQL 编译出现 error: 'SSL_OP_NO_COMPRESSION' undeclared (first use in this function) 错误
- mysql,dos下执行SQL语句创建存储过程出错ERROR 1064 (42000):
- Mysql保留字问题 出现1064(42000)错误
- 安装mysql,在./configure时出现错误:error: No curses/termcap library found的解决办法
- 在安装、重装MySQL时出现could not start the service mysql error:0的错误
- 重装mysql后出现"cannot create windows service for mysql.error:0"错误
- centos中卸载mysql,Mysql中添加用户之后可能出现登录时提示ERROR 1045 (28000): Access denied for user的错误
- window下工具访问linux下mysql出现 error no 2003 10061错误的解决办法
- mysql导入txt类型数据时出现错误 ERROR 1300 (HY000): Invalid utf8 character string: '̨
- mysql安装过程中出现错误ERROR 1820 (HY000): You must SET PASSWORD before executing this statement解决
- Rails执行migrate时出现错误 Mysql::Error: query: not connected
- 创建数据库时出现错误 error 5133
- [转]MySQL保留关键字(SQL Error: 1064, SQLState: 42000错误)