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

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

mysql自動(dòng)提交的問(wèn)題

瀏覽:114日期:2022-06-20 10:25:38

問(wèn)題描述

我使用的mysql5.5自動(dòng)提交是默認(rèn)打開(kāi)的。現(xiàn)在在終端執(zhí)行一條事物。

begin;update user set username=’Lee’ where id=1;

按說(shuō)這條事物是自動(dòng)commit的才對(duì)啊,因?yàn)槟J(rèn)是自動(dòng)提交。為什么不是自動(dòng)的commit,還是在等待人工commit。

mysql的事物發(fā)現(xiàn)有個(gè)問(wèn)題,我開(kāi)啟事物,然后insert一條數(shù)據(jù),沒(méi)有commit。然后select,發(fā)現(xiàn)這條數(shù)據(jù)竟然已經(jīng)加進(jìn)去了,這是什么鬼,在沒(méi)commit之前數(shù)據(jù)不應(yīng)該在內(nèi)存里的么。

然后我執(zhí)行rollback。再試圖開(kāi)啟事物insert一條數(shù)據(jù),commit。這時(shí)候不對(duì)了,新產(chǎn)生的id應(yīng)該是上一條回滾的那條id才對(duì)啊,為什么是+1了呢。

問(wèn)題解答

回答1:

開(kāi)啟事務(wù)必須手動(dòng)提交,詳情見(jiàn)我寫(xiě)的一篇事務(wù)隔離級(jí)別文章

回答2:

吐槽一下,是事務(wù),不是事物……1、你已經(jīng)手動(dòng)打開(kāi)了事務(wù),事務(wù)在你控制之下,所以你必須手動(dòng)提交才會(huì)生效,回滾同理;2、MySQL默認(rèn)的事務(wù)隔離級(jí)別是RR級(jí),所以可以讀到同一事務(wù)內(nèi)的數(shù)據(jù);3、自增id不受事務(wù)影響,不論成功提交還是失敗回滾,都會(huì)自增,參考資料;

其實(shí)對(duì)于這三個(gè)問(wèn)題,我也只是知其然不知其所然,但這些問(wèn)題都可以通過(guò)搜索引擎得到答案。

回答3:

自動(dòng)提交是不寫(xiě)begin,事務(wù)的概念沒(méi)有搞清楚,搜索有很多答案。

回答4:

先把錯(cuò)別字改了。

相關(guān)文章: