mysql事务测试
1、打开mysql的命令行,将自动提交事务给关闭
1 | --查看是否是自动提交 1表示开启,0表示关闭 |
2、数据准备
1 | --创建数据库 |
3、测试事务
1 | --事务包含四个隔离级别:从上往下,隔离级别越来越高,意味着数据越来越安全 |
隔离级别 | 异常情况 | 异常情况 | |
---|---|---|---|
读未提交 | 脏读 | 不可重复读 | 幻读 |
读已提交 | 不可重复读 | 幻读 | |
可重复读 | 幻读 | ||
序列化 |
4、测试1:脏读 read uncommitted
1 | set session transaction isolation level read uncommitted; |
5、测试2:当使用read committed的时候,就不会出现脏读的情况了,当时会出现不可重复读的问题
1 | set session transaction isolation level read committed; |
6、测试3:当使用repeatable read的时候(按照上面的步骤操作),就不会出现不可重复读的问题,但是会出现幻读的问题
1 | set session transaction isolation level repeatable read; |