文章詳情頁
mysql for update 如果事務(wù)一直沒有提交會不會這表數(shù)據(jù)一直鎖在那里
瀏覽:145日期:2022-06-15 08:55:29
問題描述
mysql for update 鎖住了一條或多條數(shù)據(jù),或者是整個(gè)表 如果事務(wù)一直沒有提交(比如服務(wù)器掛掉了)會不會這表數(shù)據(jù)一直鎖在那里
問題解答
回答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 ;
這時(shí),客戶端2的查詢會卡住。直到客戶端1 commit 或 rollback 。但是,如果客戶端1直接關(guān)閉窗口斷開連接,客戶端2也能直接拿到鎖。說明客戶端斷開時(shí),會自動釋放鎖。
那么問題來了,客戶端1斷開連接后,是自動 rollback 了嗎?
相關(guān)文章:
1. angular.js - 可以通過vue或者angular雙向數(shù)據(jù)綁定iframe元素嗎?2. javascript - h5微信中怎么禁止橫屏3. index.php錯(cuò)誤,求指點(diǎn)4. angular.js - angularjs 百度統(tǒng)計(jì)怎么統(tǒng)計(jì)5. node.js - vue-cli無法創(chuàng)建項(xiàng)目。6. css3選擇器nth-of-type的問題7. java - 計(jì)算機(jī)圖像表示方法?8. css3 - 這種情景怎么解釋?display:flex 遭遇 white-space: nowrap;9. PHP單例模式10. objective-c - 微信支付的問題
排行榜

熱門標(biāo)簽