1
我在兩個表上有相同的觸發器。兩個方向更新後的mysql觸發器
第一招:
CREATE TRIGGER updateURL1 AFTER UPDATE ON table1
FOR EACH ROW
BEGIN
UPDATE table2 SET url=NEW.url WHERE uname=NEW.uname;
END;
第二個:
CREATE TRIGGER updateURL2 AFTER UPDATE ON table2
FOR EACH ROW
BEGIN
UPDATE table1 SET url=NEW.url WHERE uname=NEW.uname;
END;
如我所料,它試圖做一個無限循環,什麼是顯而易見的。但是,對我而言,這並不是因爲錯誤被觸發,而是因爲它無法更新剛剛更新的表。
這個問題,我正在使用一個PHP表單編輯用戶的網址和許多其他信息。如果mysql觸發錯誤,我將它寫在頁面上。
這個問題,有沒有辦法告訴mysql不要觸發該過程的錯誤?
我在哪裏放? – Marm 2011-12-21 21:02:06
這個頁面有一個例子。我會將其添加到答案中。 – 2011-12-21 22:29:25
非常感謝,我非常喜歡保護者的第二種方式。這將是更好的代碼,並不會排除每個SQLEXCEPTION。 – Marm 2011-12-22 19:57:51