繁体   English   中英

MySQL 分隔符语法错误

[英]MySQL delimiter syntax error

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

是否有它不起作用的原因,或者是否有其他方法可以完成相同的事情(创建具有多个查询的过程)?

DELIMITER不是 MySQL 命令。 这是您的 MySQL 客户端需要支持的命令。 我正在运行 PHPMyAdmin 2.8.2.4,它不支持它。 当我升级到最新版本(目前是 3.4.9)时,它运行得很好。 您的 MySQL 版本与DELIMITER以及是否受支持无关。

您不需要分隔 DELIMIT 语句

DELIMITER //

procedure here etc

DELIMITER ;

完全按照 MySQL 文档中的“定义存储程序”

如果可以控制版本,最新的是5.5.20。 为什么不使用它?

编辑:

错误消息表明前一条语句中存在错误...如果这似乎不能强制执行

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

procedure here etc

DELIMITER ;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM