MySQL分隔符语法错误

nbnkbykc  于 2023-03-17  发布在  Mysql
关注(0)|答案(2)|浏览(112)

我尝试更改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

它不起作用是有原因的,还是有替代方法来完成同样的事情(创建一个具有多个查询的过程)?

wvyml7n5

wvyml7n51#

DELIMITER不是MySQL命令,是你的MySQL客户端需要支持的命令,我运行的是PHPMyAdmin2.8.2.4,不支持,我升级到最新版本,现在是3.4.9,运行的很好,你的MySQL版本和DELIMITER没有关系,支持不支持。
还要注意,一些客户端可能有DELIMITER区分大小写的bug,其中只有小写的delimiter或大写的DELIMITER有效。

6pp0gazn

6pp0gazn2#

不需要分隔DELIMIT语句

DELIMITER //

procedure here etc

DELIMITER ;

完全按照MySQL文档中的"Defining Stored Programs"
如果你能控制版本,最新的是5.5.20。为什么不使用它呢?
编辑:
错误消息指示上一条语句中的错误...如果看起来不正确,则强制执行此操作

; /* <- force previous statement termination */ DELIMITER //

procedure here etc

DELIMITER ;

相关问题