mysql error 1442_MySQL错误代码为err[1442]的解决总结_MySQL
生活随笔
收集整理的這篇文章主要介紹了
mysql error 1442_MySQL错误代码为err[1442]的解决总结_MySQL
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
當觸發器和存貯過程交互的調用某一個字段的時候會出現這個報錯
﹙1﹚ 工具: Navicatfor mysql
﹙2﹚ 錯誤描述:
1﹚ 在編寫考試排名的數據庫設計期間,數據庫會出現批處理,對該用戶不同計算出回答正確數和題目總數的時候,數據庫用觸發器直接計算出它的正確率
2﹚ 設計完成之后報錯為err[1442]
﹙3﹚ 錯誤解釋:
SQLSTATE: HY000 (ER_CANT_UPDATE_USED_TABLE_IN_SF_OR_TRG)消息:由于它已被調用了該存儲函數/觸發程序的語句使用,不能在存儲函數/觸發程序 中更新表’%s’。
﹙4﹚ 解決過程
1﹚ 刪除觸發器.
2﹚ 刷新數據庫
3﹚ 重新調用存貯過程即可實現
﹙5﹚ 詳細解決說明
1﹚ 該部分錯誤是調用觸發器的同時存貯過程也在使用這個字段,故而出現這個錯誤
2﹚ 這個存貯過程是要執行多個語句的,當第一部分執行完之后肯定會涉及到該表的改動,那么就會立即觸發觸發器的操作,觸發器會使用該字段.但是存貯過程還沒有結束,他 也在繼續執行繼續使用該字段,故而產生錯誤
在處理中建議存貯過程實現的功能一體實現,不建議存貯過程+觸發器的實現方式.容易產生該錯誤,并且在后續變更等方面限制會更大,性能也有所影響
總結
以上是生活随笔為你收集整理的mysql error 1442_MySQL错误代码为err[1442]的解决总结_MySQL的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql err 1118_MySQL
- 下一篇: mysql join on 索引_连接查