我要做兩個觸發器,第一個,插入test1
表後,插入test2
表中的另一行。好的,問題是我必須以相反的格式做相同的觸發器,插入行test2
表後插入新行test1
。我知道當觸發器觸發時觸發器無法插入表中,但我需要解決這個問題。我沒有很多觸發器的經驗,我希望這可以解決。MySQL雙向觸發
DELIMITER $$ CREATE TRIGGER `ai_test1_test2` AFTER INSERT ON `test1`
FOR EACH ROW
BEGIN INSERT INTO test2 (vtest2) VALUES (new.vtest1)
END$$
DELIMITER ;
雙向觸發:
DELIMITER $$ CREATE TRIGGER `ai_test2_test1` AFTER INSERT ON `test2`
FOR EACH ROW
BEGIN INSERT INTO test1 (vtest1) VALUES (new.vtest2)
END$$
DELIMITER ;
感謝。
編輯:
無限循環不能得到解決。觸發器不能是雙向的...我認爲我必須使用PROCEDURE ...
不,這不可能被通過觸發器和解決存在這是一個非常好的理由:它會冒無盡的循環(trigger1插入到table2中,觸發trigger2,它插入到table1中,然後觸發insert into table2 ...)。在應用程序邏輯或存儲過程中更好地處理此問題。 – Shadow
謝謝@Shadow,是的,循環是問題...... :(我認爲每個觸發器都是一個單獨的執行程序,不能將另一個觸發器動作稱爲第一個觸發器動作... – dankkomcg