我尝试更改MySQL命令分隔符,以便创建一个包含多个命令的过程。但是,分隔符命令在MySQL 5.1.47上似乎无法识别。我在MySQL 5.0.91上测试了它,它确实可以在那里工作。
DELIMITER //;
DELIMITER ;//
在这两种情况下,我都试图从phpmyadmin运行这个程序,但使用5.0.91不是一个选项,因为我需要使用事件(CREATE EVENT
)。
错误信息:
#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 //' at line 1
它不起作用是有原因的,还是有替代方法来完成同样的事情(创建一个具有多个查询的过程)?
2条答案
按热度按时间wvyml7n51#
DELIMITER
不是MySQL命令,是你的MySQL客户端需要支持的命令,我运行的是PHPMyAdmin2.8.2.4,不支持,我升级到最新版本,现在是3.4.9,运行的很好,你的MySQL版本和DELIMITER
没有关系,支持不支持。还要注意,一些客户端可能有
DELIMITER
区分大小写的bug,其中只有小写的delimiter
或大写的DELIMITER
有效。6pp0gazn2#
不需要分隔DELIMIT语句
完全按照MySQL文档中的"Defining Stored Programs"。
如果你能控制版本,最新的是5.5.20。为什么不使用它呢?
编辑:
错误消息指示上一条语句中的错误...如果看起来不正确,则强制执行此操作