background:通过在数据库建一个简单的蜘蛛侠,蝙蝠侠转账表,来测试InnoDB事务的默认隔离级别
事务A:蝙蝠侠(超能力是有钱)给蜘蛛侠转账100;一共是四步组成
(1)开始事务A
(2)update 蜘蛛侠账户加100
(3)update 蝙蝠侠账户减100
(4)提交事务A
事务B:蜘蛛侠转查自己的账户
第一步:开始事务A后执行事务B;结果如下
第二步:update 事务A后执行事务B;结果如下
第三步:update 事务A后执行事务B;结果如下
第四步:commit事务A后执行事务B;结果如下
由以上简单四步可以看出,在事务A开始后到提交前,事务B每次读到的数据都与第一次读到的数据结果一致,事务A提交后才会读到修改结果。
可见InnoDB的默认隔离级别是可重复读(repeatable read)