mysql存储过程报错ERROR 1064

 查阅资料发现:

引用:https://blog.csdn.net/ws379374000/article/details/78285607

原因:Mysql解释器一遇到;号时就结束,回车以后就执行了。但是现在并不希望Mysql这么做,因为存储过程中可能 包含很多分号的语句。

解决方式:Mysql给我们提供了delimiter关键字,delimiter作用就是把;分号替换成指定的符号,比如//或$$。当再出现//或$$时,Mysql解释器才会执行命令。

复制代码
DELIMITER $$
CREATE DEFINER=`root`@`%` PROCEDURE `Pro_ColumnWork`(TableName VARCHAR(50),ColumnName VARCHAR(50),CType INT,SqlStr VARCHAR(4000))
BEGIN
DECLARE Rows1 INT;
SET Rows1=0;
...... 
EXECUTE stmt1;
END IF;
END $$
DELIMITER ;
复制代码

 

posted @ 2021-12-29 18:04  萌新来报道  阅读(677)  评论(0)    收藏  举报
-- 养成问题记录好习惯,网上资料多而杂,自己整理记录下,努力整理正确结论,大部分为实际开发遇到的问题