成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

mysql for update 如果事務一直沒有提交會不會這表數據一直鎖在那里

瀏覽:122日期:2022-06-15 08:55:29

問題描述

mysql for update 鎖住了一條或多條數據,或者是整個表 如果事務一直沒有提交(比如服務器掛掉了)會不會這表數據一直鎖在那里

問題解答

回答1:

不會。客戶端連接斷開后,會自動釋放鎖。

客戶端1

set AUTOCOMMIT = 0;BEGIN;SELECT * FROM articles WHERE id=1 FOR UPDATE ;

客戶端2

set AUTOCOMMIT = 0;BEGIN;SELECT * FROM articles WHERE id=1 FOR UPDATE ;

這時,客戶端2的查詢會卡住。直到客戶端1 commit 或 rollback 。但是,如果客戶端1直接關閉窗口斷開連接,客戶端2也能直接拿到鎖。說明客戶端斷開時,會自動釋放鎖

那么問題來了,客戶端1斷開連接后,是自動 rollback 了嗎?

相關文章: