版本5.5.5中的Mysql触发分隔符

时间:2016-11-28 07:53:56

标签: mysql triggers delimiter

我在插入之前创建了一个mysql触发器,就像从1110开始的自动增量字段一样

DROP TRIGGER IF EXISTS set_nr_claim_AI;

DELIMITER $$
CREATE TRIGGER set_nr_claim_AI BEFORE INSERT ON users_claim
   FOR EACH ROW
   BEGIN
     DECLARE max_nr INT;
     SET max_nr = (SELECT MAX(nr_claim) FROM users_claim);
     IF max_nr IS NULL OR max_nr = 0 THEN
        SET NEW.nr_claim = 1100;
     ELSE
        SET NEW.nr_claim = max_nr +1;
    END IF;
END; $$
DELIMITER ;

在mysql 5.5.5版中我有这样的错误:#1064 - 你的SQL语法有错误;查看与您的MariaDB服务器版本对应的手册,以便在“DELIMITER'附近使用正确的语法”。在第1行

但是在mysql 5.6版本中一切正常,我找不到解决方案。

我还需要解决旧版本的mysql(我的登台环境有5.5.5)

1 个答案:

答案 0 :(得分:2)

我设法解决了这个问题。我只需要在DELIMITER之后添加一个新行;