一尘不染

MySQL DELIMITER语法错误

mysql

这个MySQL脚本会安装多个触发器。

它在一台运行MySQL 5.0.51b-community的机器上工作。在另一台运行MySQL 14.12 Distrib
5.0.45的计算机上,对于redhat-linux-gnu(i386),它会失败,并显示此错误消息,这似乎与DELIMITER // ... // DELIMITER; 有关;句法 :

第272行的错误1064(42000):您的SQL语法有错误;
查看与您的MySQL服务器版本相对应的手册,以在’DELIMITER附近使用正确的语法;如果存在触发器则触发触发器; 第1行的“
DELIMITER”

脚本语法(概述)为:

DROP TRIGGER IF EXISTS trigger_name;
DELIMITER //
CREATE TRIGGER trigger_name BEFORE UPDATE ON table
FOR EACH ROW BEGIN
  -- Trigger logic goes here
END //
DELIMITER;

-- More trigger drop/create statements follow

脚本出了什么问题,我该如何纠正?


阅读 487

收藏
2020-05-17

共1个答案

一尘不染

尝试

DELIMITER ;

DELIMITER;

您实际上是;DELIMITER命令指定为参数,因此如果没有空格,可能会造成混淆。

2020-05-17