mysql1064错误_Mysql1064错误

mysql错误:1064 - Ling1604的博客 - 博客blog..net

其实这个错误本质上就是说,语法错误。

通常就是报错点上面少了分号

或者像我今天碰到的。

问题出在declare写在了set的下面。

Mysql里面,所有的declare都要写在set上面

declare之间也有顺序

先变量,后游标,往后再是handler

DECLARE done1 INT DEFAULT 0 ;

DECLARE cur1 CURSOR FOR SELECT num, invoice_no, check_date FROM tmpCd_300545;

DECLARE CONTINUE HANDLER FOR NOT FOUND SET done1=1;

存储过程中

sql语法也有一些不一样。不能用别名了,直接用表的名字代替。

DELETE FROM tmpCd_300545 WHERE tmpCd_300545.num = num_current ;

而我用

DELETE FROM tmpCd_300545 a WHERE a.num = num_current ;就会报错

啊啊啊,要珍惜可以用oracle的时光呀呀呀呀

具体的语法请查询mysql api,千万不要看CDSN, 真是鱼龙混杂- -在线文档-mysql-5.1-zhtool.oschina.net

mysql错误:1064 - Ling1604的博客 - 博客blog..net 其实这个错误本质上就是说,语法错误。 通常就是报错点上面少了分号 或者像我今天碰到的。 问题出在declare写在了set的下面。 Mysql里面,所有的declare都要写在set上面 declare之间也有顺序 先变量,后游标,往后再是handler DECLARE done1 INT DEFAULT 0 ; DECLARE cur1 CURSOR FOR SELECT num, invoice_no, check_date FROM tmpCd_300545; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done1=1; 存储过程中 sql语法也有一些不一样。不能用别名了,直接用表的名字代替。 DELETE FROM tmpCd_300545 WHERE tmpCd_300545.num = num_current ; 而我用 DELETE FROM tmpCd_300545 a WHERE a.num = num_current ;就会报错 啊啊啊,要珍惜可以用oracle的时光呀呀呀呀 具体的语法请查询mysql api,千万不要看CDSN, 真是鱼龙混杂- -在线文档-mysql-5.1-zhtool.oschina.net
经验分享 程序员 微信小程序 职场和发展