剛剛向數據庫插入數據的時候出現了這么一段錯誤
Deadlock found when trying to get lock; try restarting transaction
主要原因(由於無法使用專業術語進行表達,所以只能抽象的講一下):詳細可見:官方文檔
A和B都在進行事務操作,A的某些操作鎖定了B的一些資源,未提交事務,而此時,B需要更新數據,也鎖定了A的某些資源,這時雙方都在等待對方釋放資源,於是產生死鎖。(跟外鍵有關系)
解決方案:
1. 刪除外鍵
2. 必須得是一方先 commit 之后,另一方再執行,insert / delete / update 等操作
注意事項:
進行一次數據操作時,立即提交事務,不要讓未提交的事務長時間打開,避免產生沖突