不可重复读和可重复读的理解

不可重复读和可重复读的理解
image.png

1、 不可重复读:

同一个事务中:
id=10行, 字段c1, 第一次查询 c1=0;
id=10行, 字段c1, 第二次查询 c1=1;

因为在第二次查询, 另外一个事务修改了c1=1,且事务提交。

2、 可重复读:

同一个事务中:
id=10行, 字段c1, 第一次查询 c1=0;
id=10行, 字段c1, 第二次查询 c1=0;

无论id=10被读了多少次, c1=0

即便是第二次查询之前,有另外的事务修改c1=1,也不会读到。

但是却可能幻读, 因为查询范围内插入新行。