當嘗試執行涉及觸發器的 MySQL 查詢時,使用者可能會遇到錯誤:「無法更新表'x'在儲存函數/觸發器中,因為它已被呼叫此儲存函數/觸發器的語句使用。修改與其關聯的同一個表時,就會出現此錯誤。在這種情況下,錯誤發生在 Brandnames 表上的 AFTER INSERT 觸發器內。觸發器正在嘗試使用輸入值的大寫版本更新 bname 欄位。
MySQL 阻止從觸發器內更新表有兩個原因:
潛在死鎖:
如果觸發事件發生,觸發器內的更新可能會導致死鎖涉及表鎖定。使用 NEW 和 OLD:
使用 NEW 和 OLD 偽表存取新插入或更新的值,如提供的答案所示。以上是如何解決 MySQL 錯誤:「無法更新儲存函數/觸發器中的表 'x',因為它已被呼叫此儲存函數/觸發器的語句使用」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!