环境准备
通过navicat开启两个命令界面,然后都关闭自动提交,设置事务隔离级别为
可重复读(命令如下)
创建一个班级表,两个字段id、name,很简单;
初始数据如下:
# 关闭事务自动提交
#***只会对当前命令窗口有效***
set autocommit=0;
# 修改为可重复读
set session transaction isolation level REPEATABLE READ;
开始表演
窗口2
执行查询语句如下
窗口1
执行更新语句修改班级1,并提交
窗口2查询
还是之前的数据,证明REPEATABLE READ事务隔离级别可规避不可重复读的问题(窗口2在本次事务中对未修改的数据多次读取,数据都保持一致)
窗口2提交事务,再次查询,则会查询到新的数据
如果你喜欢我的分享,欢迎关注微信公众号 java学长分享技术干货!
悄悄告诉你免费赠送重磅互联网架构师教程,提升职场技术水平!