這是如何工作的? mysql是否僅在插入或每次插入或更新時才調用BEFORE INSERT觸發器如果要運行的查詢如下所示:「BEFORE INSERT觸發器是否在「insert on duplicate key update」查詢中的每一行執行
INSERT INTO tSomething VALUES(...)ON DUPLICATE KEY UPDATE .....
我想在插入行時根據其他列的值更新列的值,但是我不希望這種行爲用於更新,將會執行的查詢總是上面提到的那個。插入操作後用於本但是,我不能更新使用INSERT後觸發一欄爲
SET NEW.score = NEW.score1 + NEW.score2;
我在某處讀到BEFORE INSERT觸發器在這種情況下會允許每次執行上面的查詢時觸發觸發器。這是真的 ?如果是的話,我該如何使用觸發器來解決這個問題。
我想說的是,在我的情況下,我只使用上面提到的查詢來插入和更新。爲了在要插入的行中實現更改col值作爲其他col值的函數的行爲,應該使用BEFORE INSERT或AFTER INSERT? BEFORE INSERT觸發器將針對上述每個查詢「q」執行。但是,AFTER INSERT只會在通過該SQL執行的插入時被解僱。但使用AFTER INSERT後,我無法將列設置爲「SET NEW.col = .....」,因爲您無法在插入觸發器後設置NEW。 –