在事务执行过程中,另一个事务将新记录添加到正在读取的事务中时,会发生幻读(事务隔离级别为可重复读REPEATABLE-READ)。当执行SELECT … WHERE语句时未对where范围锁定,则可能会发生幻读。幻读是不可重复读的一种特殊情况 。当事务1重复执行SELECT … WHERE语句时,在这期间事务2执行INSERT语句插入了满足where条件的新记录。
t1表结构:有id和age两个字段。
事务1
事务2
在事务执行过程中,另一个事务将新记录添加到正在读取的事务中时,会发生幻读(事务隔离级别为可重复读REPEATABLE-READ)。当执行SELECT … WHERE语句时未对where范围锁定,则可能会发生幻读。幻读是不可重复读的一种特殊情况 。当事务1重复执行SELECT … WHERE语句时,在这期间事务2执行INSERT语句插入了满足where条件的新记录。
t1表结构:有id和age两个字段。
事务1
事务2