假設如果觸發(fā)器執(zhí)行過程中發(fā)生錯誤,MySQL 可以如下處理 –
- 如果 BEFORE 觸發(fā)器失敗,則執(zhí)行不執(zhí)行相應的行。嘗試插入或修改行時會激活 BEFORE 觸發(fā)器,無論隨后的嘗試是否成功。僅執(zhí)行 AFTER 觸發(fā)器如果任何 BEFORE 觸發(fā)器和行操作成功執(zhí)行。BEFORE 或 AFTER 觸發(fā)器期間的錯誤會導致導致觸發(fā)器調用的整個語句失敗。對于事務表,語句失敗應導致該語句執(zhí)行的所有更改回滾。觸發(fā)器失敗會導致語句失敗,因此觸發(fā)器失敗也會導致回滾。對于非事務性表,無法執(zhí)行此類回滾,因此盡管語句失敗,但在錯誤點之前執(zhí)行的任何更改仍然有效。
以上就是MySQL如何處理觸發(fā)器執(zhí)行過程中的錯誤?的詳細內容,更多請關注www.92cms.cn其它相關文章!