发现一个问题,在可重复读的隔离等级,幻读的数据填不进去

发现一个问题,在可重复读的隔离等级,幻读的数据填不进去

http://img1.sycdn.imooc.com//climg/5dea169f095407df18800617.jpg


没有出现幻读,这是怎么回事呢


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,这个可能是MySQL的保护机制,当一个事务没有结束时,另外的事务无法对数据进行修改,所以导致B事务无法插入成功,这边测试也是这样的情况。当事务A提交或者回滚后,B事务可以正常插入。但是事务A提交或者回滚后,无法出现幻读现象。

这里建议同学理解幻读出现的原因即可。

祝:学习愉快~

好帮手慕阿满 2019-12-06 19:11:40

同学你好,这边测试也是无法添加的,等待一段时间会报错,如:

http://img1.sycdn.imooc.com//climg/5dea34ac092e00fd06360129.jpg

这个是由于前一个事务没有提交或者回滚,所以在B事务中等待A事务的提交或回滚,直至超时报错。

这可能是MySQL的保护机制。这里同学理解幻读出现的原因即可。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 提问者 松糕 #1
    这里是我为了截图才会出现这个的,如果没有截图的话,正常是事务B也是卡在这里,然后事务A我写了回滚后,事务B才能被执行。事务A那边没有出现幻读
    2019-12-06 19:14:19
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师