脏读
在A事务对数据x修改的过程中,B事务读取了数据x,此后A事务才提交了对数据x的修改
丢失修改
A、B事务并行的情况下,A、B都读取了数据x的初值,并先后提交了各自对数据x的修改
此时A事务对数据x的修改被B的修改覆盖了(如图中A事务修改的20被覆盖)
不可重复读
在A事务中两次读取了数据x,但在第一次读取之后,数据x被事务B修改了,导致A事务第二次读取出的x与第一次不同
幻读
在A事务中对表x进行了两次相同条件的范围查询,在A事务第一次查询之后,B事务对表中数据做了修改,导致A事务第二次读取出的数据与第一次不同
说明:
不可重复读、幻读都是一个事务中使用相同条件两次查询、结果不同,
区别在于不可重复读是单条记录中值有所不同,而幻读是范围查询出的记录条数不同