暂无图片
MySQL 事物隔离级别问题
我来答
分享
暂无图片 匿名用户
MySQL 事物隔离级别问题
暂无图片 10M

事物1对某数据做了修改没提交前事物2读到了这条数据,然后事物1提交了,事物2还没提交又来读,这个时候事物1是能读到这条记录的,但是事物1能不能根据查询条件来修改这条数据?事物1提交后可能事物2原来的查询条件查不到那条记录

我来答
添加附件
收藏
分享
问题补充
3条回答
默认
最新
刘贵宾
暂无图片 评论
暂无图片 有用 2
chengang

通过你的描述感觉你的隔离级别是 RU(脏读)

事务1 肯定是即能读取最新数据,也能修改的。

你都脏读了。提交后与提交前事务2查到的应该是一样的。

暂无图片 评论
暂无图片 有用 0
张sir

在mysql的RR隔离模式下,事务2开启了一个事务,即会构造一个view,这个view类似于打了一个事务开启时候的数据库的快照,不轮后续表里的数据如何修改,事务2始终看到的是事务开启的时候的数据(快照读),如果事务2中有当前读(比如delete,比如insert),这个时候会看到最新的数据的。

回到你的问题,即使事务1再怎么修改这条数据,事务2的快照读始终能查询到这个数据,但是事务2中的当前读就看不到这个数据了。

暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏