Mysql InnoDB鎖
阿新 • • 發佈:2019-04-12
inf 添加 lang ... ref lock 查詢 分享圖片 dead
行鎖模式以及加鎖方法:
共享鎖:X鎖
lock in share mode:共享鎖(x鎖)
開啟兩個事務,set autocommit=0的含義是設置當前session禁止自動提交,需要顯示commit才可以提交。詳見:https://www.cnblogs.com/langtianya/p/4777662.html。
表結構(自己去建表啊...):
首先對sessionA添加lock in share mod,
這時共享鎖就已經添加上了,sessionB仍然可以查詢記錄並且可以添加lock in share mode
SessionA對當前Session進行update修改數據時就會進入死鎖狀態(看當前語句已經沒有反應了並且右下角的查詢時間在一直增加)
在SessionB中對鎖住的這行記錄進行修改時就可以解除死鎖狀態,SessionB中輸出DeadlockFound....
此時SessionA就獲得鎖可進行更新操作了。。。,再次執行SessionA中的update語句發現可以進行更新了
最後SessionA進行commit提交就會發現數據庫已經成功修改了
對事務A執行update
Mysql InnoDB鎖