1
我創建之前一個mysql觸發器插入的行爲就像一個自動增量場從1110Mysql的觸發分隔符5.5.5
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是的,我試過//並且|也作爲分隔符。相同的結果。 – Nemeth
嘗試它作爲分隔符//或保留它。 http://stackoverflow.com/questions/9017269/mysql-delimiter-syntax-error –