MySQL - 問題集 - 觸發器更新本表數據異常"Can’t update table ‘tbl’ in stored function/trigger because it is already used by statement which invoked this"


如果你在觸發器里面對剛剛插入的數據進行了 insert/update, 則出現這個問題。因為會造成循環的調用.

create trigger test
before update on test
for each row
  update test set NEW.updateTime = NOW() where id=NEW.ID;
END

應該使用set操作,而不是在觸發器里使用 update,比如

create trigger test
before update on test
for each row
set NEW.updateTime = NOW();
END

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM