程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> jdbc-JDBC 並發事務中執行多條相同的Update語句,為什麼會造成死鎖?

jdbc-JDBC 並發事務中執行多條相同的Update語句,為什麼會造成死鎖?

編輯:編程綜合問答
JDBC 並發事務中執行多條相同的Update語句,為什麼會造成死鎖?

如題,我在多個線程中並發向A庫的XXXX表提交事務,每個事務中執行兩條Update語句:
update xxxx set column1 = '11' where ID = '11'
update xxxx set column2 = '22' where ID = '22'
結果在運行過程中拋出死鎖異常:
事務(進程ID 211)與另一個進程被死鎖在鎖|線程資源上,並且已被選作死鎖犧牲品。請重新運行該事務。

最佳回答:


觸發了行級鎖,一個線程執行了更新語句a,但是未提交事務,此時輪換到另外的線程也執行了a語句,此時產生死鎖

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved