0
僅當數據不同時,纔想將數據插入另一個表中。
所以爲了這個,我創建了第一個表的觸發器,像這樣:MySQL觸發器 - 僅當數據不同時才插入另一個表中
CREATE TRIGGER `RegistrationHistory` AFTER UPDATE ON `registration`
FOR EACH ROW
INSERT INTO registration_history (`Key`, `Name`, `Version`, `LastUpdate`)
SELECT OLD.Key, OLD.Name, OLD.Version, NOW()
WHERE OLD.Key != NEW.Key
AND OLD.Name != NEW.Name
AND OLD.Version != NEW.Version
的問題是,它的錯誤了與:
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 'WHERE OLD.Key != NEW.Key
我注意到,如果我嘗試這不工作要麼:
SELECT 'ACBDE'
WHERE 1 = 1
那麼我應該如何插入歷史表使用MySQL只有當有差異?在if語句
的想法是很好的,但不幸的是沒有工作。我有錯誤:#1064 - 你的SQL語法有錯誤;請檢查與您的MySQL服務器版本對應的手冊,以獲得在第5行附近使用的正確語法 – CristiC
嘗試添加分隔符 - DELIMITER $$ CREATE TRIGGER ... BEGIN ... END $$ DELIMITER; – Devart
謝謝,這工作。 – CristiC