文章詳情頁(yè)
mysql for update 如果事務(wù)一直沒(méi)有提交會(huì)不會(huì)這表數(shù)據(jù)一直鎖在那里
瀏覽:130日期:2022-06-15 08:55:29
問(wèn)題描述
mysql for update 鎖住了一條或多條數(shù)據(jù),或者是整個(gè)表 如果事務(wù)一直沒(méi)有提交(比如服務(wù)器掛掉了)會(huì)不會(huì)這表數(shù)據(jù)一直鎖在那里
問(wèn)題解答
回答1:不會(huì)。客戶(hù)端連接斷開(kāi)后,會(huì)自動(dòng)釋放鎖。
客戶(hù)端1
set AUTOCOMMIT = 0;BEGIN;SELECT * FROM articles WHERE id=1 FOR UPDATE ;
客戶(hù)端2
set AUTOCOMMIT = 0;BEGIN;SELECT * FROM articles WHERE id=1 FOR UPDATE ;
這時(shí),客戶(hù)端2的查詢(xún)會(huì)卡住。直到客戶(hù)端1 commit 或 rollback 。但是,如果客戶(hù)端1直接關(guān)閉窗口斷開(kāi)連接,客戶(hù)端2也能直接拿到鎖。說(shuō)明客戶(hù)端斷開(kāi)時(shí),會(huì)自動(dòng)釋放鎖。
那么問(wèn)題來(lái)了,客戶(hù)端1斷開(kāi)連接后,是自動(dòng) rollback 了嗎?
相關(guān)文章:
1. python - Pycharm的Debug用不了2. 安全性測(cè)試 - nodejs中如何防m(xù)ySQL注入3. Python中使用超長(zhǎng)的List導(dǎo)致內(nèi)存占用過(guò)大4. javascript - axios請(qǐng)求回來(lái)的數(shù)據(jù)組件無(wú)法進(jìn)行綁定渲染5. python - pandas按照列A和列B分組,將列C求平均數(shù),怎樣才能生成一個(gè)列A,B,C的dataframe6. javascript - 有適合開(kāi)發(fā)手機(jī)端Html5網(wǎng)頁(yè)小游戲的前端框架嗎?7. javascript - JS變量被清空8. java - 在用戶(hù)不登錄的情況下,用戶(hù)如何添加保存到購(gòu)物車(chē)?9. javascript - 關(guān)于apply()與call()的問(wèn)題10. html - eclipse 標(biāo)簽錯(cuò)誤
排行榜

熱門(mén)標(biāo)簽