mysql创建存储过程时ERROR 1064 (42000)的解决办法

转载自:http://blog.chinaunix.net/uid-20263484-id-110165.html


MySql中delimiter的作用是什么?

其实就是告诉mysql解释器,该段命令是否已经结束了,mysql是否可以执行了。
默认情况下,delimiter是分号 ; 。在命令行客户端中,如果有一行命令以分号结束,
那么回车后,mysql将会执行该命令。如输入下面的语句
mysql> select * from test_table;
然后回车,那么MySQL将立即执行该语句。


mysql默认是把;看成是procedure的结束符了,于是procedure便解析失败了。
在声明存储过程之前声明//为结束符
DELIMITER //
然后以//结束存储过程就好了

如果想恢复到之前的;结束,DELIMITER ;便可以了。习惯一般都是用;作为结束符。而create procedure的时候里面会有很多;,所以导致在;回车的时候默认就执行了,而导致错误。

procedure的语法规则:

create procedure sp_name()
begin
.........
end

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值