我的数据库中有一些存储过程。我必须对所有过程进行一些更改,因此我认为我将使用propel运行一次。
我的代码看起来如何:
DROP PROCEDURE IF EXISTS proc_myprocedure;
DELIMITER $$
CREATE PROCEDURE proc_myprocedure(IN id INT(11), IN old JSON, IN new JSON)
...
我所经历的是第一个SQL命令可以成功执行,但是第二个却没有成功! ...而且我没有收到任何SQL错误:(
当我单独运行第二条sql命令时,出现此SQL错误:
SQLSTATE[42000]: Syntax error or access violation: 1064 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 'DELIMITER $$
我必须使用 DELIMITER ,因为我必须使用';'在程序内部。 如果我在像Workbench这样的Sql处理程序中同时运行这两个SQL命令,则效果很好。
Propel是否可能“不喜欢” DELEMITER 这个词?还是Propel不知道?
有人遇到过这样的错误吗?
谢谢