真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Mysql中的幻讀和不可重復(fù)讀的區(qū)別

MySQL中的幻讀和不可重復(fù)讀的區(qū)別是什么?這個問題可能是我們?nèi)粘W(xué)習(xí)或工作經(jīng)常見到的。通過這個問題,希望你能了解幻讀和不可重復(fù)讀的區(qū)別。

成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供溫嶺網(wǎng)站建設(shè)、溫嶺做網(wǎng)站、溫嶺網(wǎng)站設(shè)計、溫嶺網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、溫嶺企業(yè)網(wǎng)站模板建站服務(wù),十余年溫嶺做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

不可重復(fù)讀:同樣的條件下,讀取過的數(shù)據(jù),當(dāng)我們再次讀取時值發(fā)生了變化。

幻讀:同樣的條件下,第1次和第2次讀出來的記錄數(shù)不一樣。

具體分析:

1、不可重復(fù)讀

同樣的條件下,讀取過的數(shù)據(jù),當(dāng)我們再次讀取時值發(fā)生了變化。

例子:

在事務(wù)1中,A讀取了自己的工資為1000,但是此時事務(wù)1的操作還并沒有完成 ,后面還有1次相同的讀取操作。

con1 = getConnection();
select salary from employee where employeeName ="A";

在事務(wù)2中,這時財務(wù)人員修改了A的工資為2000,并提交了事務(wù)。

con2 = getConnection();    
update employee set salary = 2000 where employeeName = "A";    
con2.commit();

在事務(wù)1中,A再次讀取自己的工資時,工資變?yōu)榱?000 。

select salary from employee where employeeName ="A";

在一個事務(wù)中前后兩次讀取的結(jié)果并不致,導(dǎo)致了不可重復(fù)讀。

2、幻讀

同樣的條件下,第1次和第2次讀出來的記錄數(shù)不一樣。

例子:

目前工資為1000的員工有5人。

事務(wù)1,讀取所有工資為1000的員工,共讀取10條記錄 。

con1 = getConnection();    
Select * from employee where salary =1000;

這時另一個事務(wù)向employee表插入了一條員工記錄,工資也為1000

con2 = getConnection();    
Insert into employee(employeeName,salary) values("B",1000);    
con2.commit();

事務(wù)1再次讀取所有工資為1000的員工,共讀取到了6條記錄,這就產(chǎn)生了幻讀。

//con1    
select * from employee where salary =1000;

看完上述內(nèi)容,你們對Mysql中的幻讀和不可重復(fù)讀的區(qū)別有進一步的了解嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


分享文章:Mysql中的幻讀和不可重復(fù)讀的區(qū)別
網(wǎng)頁URL:http://weahome.cn/article/jdpjcd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部