【发布时间】:2016-11-28 07:53:55
【问题描述】:
我在插入之前创建了一个 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 服务器版本相对应的手册,了解在第 1 行的“DELIMITER”附近使用的正确语法
但在 mysql 5.6 版本中一切正常,我找不到解决方案。
我还需要解决旧版本的 mysql(我的暂存环境有 5.5.5)
【问题讨论】:
-
您是否尝试过使用分隔符 //
-
@MuhammadMuazzam 是的,我试过 // 和 |也可以作为分隔符。结果相同。
-
尝试将其作为分隔符 // 或保留它。 stackoverflow.com/questions/9017269/…