2
A
回答
4
如果觸發器引發異常,則會中止事務並有效回滾。這會爲你工作嗎?
3
來源:http://dev.mysql.com/doc/refman/5.1/en/trigger-syntax.html
觸發不能使用語句 或明或暗地開始或結束 交易如START TRANSACTION,COMMIT或ROLLBACK。
和
對於事務表,一個 聲明的故障不會導致的由語句執行的所有 變化回滾。 觸發失敗會導致 語句失敗,因此觸發失敗 也會導致回滾。對於 非事務性表,這種回滾 無法完成,因此儘管 語句失敗,但在錯誤點之前執行 的任何更改仍然有效,其效果爲 。
7
我發現這個函數是從MySQL 5.5開始存在的,並且在早期版本中不起作用。
該觸發器不進行回滾或提交。 要啓動任何回滾,您必須引發異常。因此,您的插入/更新/刪除命令將中止。 回滾或提交操作必須圍繞您的SQL命令提出。
要提高你的例外,在你XXX的觸發(如):
create trigger Trigger_XXX_BeforeInsert before insert on XXX
for each row begin
if [Test]
then
SIGNAL sqlstate '45001' set message_text = "No way ! You cannot do this !";
end if ;
end ;
相關問題
- 1. mySQL觸發器PRINT&ROLLBACK
- 2. MySql觸發器 - 觸發器是否可以停止所有dml?
- 3. 是否可以在MySQL的觸發器中更新「訂單」列?
- 4. 是否可以在mysql觸發器中調用網址(http://)?
- 5. 觸發器是否可以訪問在mysql中觸發它的查詢
- 6. 我可以在實際觸發語句之前執行MySQL觸發器嗎?
- 7. PROBLEMA SQL SERVER ROLLBACK觸發器
- 8. 是否可以在觸發器執行過程中獲取有關觸發器的信息?
- 9. 是否可以使用MySQL觸發器發送電子郵件?
- 10. 錯誤時是否需要執行'ROLLBACK'?
- 11. 在更新視圖查詢時是否可以執行觸發器
- 12. MySQL - 在另一個觸發器之後執行觸發器
- 13. 我可以通過mysql觸發器在mysql外執行任何程序嗎?
- 14. postgresql中的ROLLBACK事件觸發器
- 15. 是否可以通過Mysql觸發器將值傳遞給php?
- 16. 是否可以在java控制器中使用觸發器spring
- 17. 是否可以在獨立的可執行文件中綁定/發佈PHP + MySQL?
- 18. 是否可以在JPQL中執行JOIN?
- 19. MySQL的觸發器是否併發?
- 20. MySQL觸發器/程序執行延遲
- 21. 是否可以在一個MySQL查詢中執行此操作?
- 22. 是否可以在觸發器中使用.preventDefault()jQuery
- 23. 是否有可能阻止觸發器在事務中運行?
- 24. 查詢以檢查MYSQL表上是否存在觸發器
- 25. sql服務器觸發器是否具有執行順序?
- 26. 是否可以在XCode中進行後期調試構建步驟/觸發器?
- 27. TSQL:觸發/ ROLLBACK TRANSACTION錯誤
- 28. 我可以在mysql中使用觸發器以用於php嗎?
- 29. MYSQL觸發器是否先查看記錄是否存在?
- 30. MySQL - 有可能調用函數來執行觸發器操作?