MySQL - 插入後更新同一表的觸發器
在資料庫管理領域,遇到對錶執行操作需要後續操作的情況對同一個表的更新並不罕見。在這個特定的實例中,挑戰在於在觸發器中實現這一點。
考慮 ACCOUNTS 表的情況,在插入新行時,需要對主鍵與值匹配的另一行進行相應的更新NEW.edit_on 的。但是,如文件所述,在觸發器中禁止修改呼叫語句中已使用的表。
要克服此限制,建議使用預存程序。此預存程序將首先插入或更新目標表,然後更新附加行,所有這些都在交易的上下文中進行。透過手動提交更改,這兩個操作都可以成功執行。
雖然建立此類預存程序的複雜性可能會因特定的資料庫系統而異,但請參閱提供的範例以獲得更詳細的理解。這種方法有效地規避了觸發器施加的限制,並允許實現複雜的表操作場景。
以上是如何在使用觸發器插入後更新同一個 MySQL 表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!