我们知道在MySQL中存在幻读的情况,也就是一个事务在读取某个范围内的记录时,发现了另一个事务在该范围内新增了记录(或者删除了记录),导致两次读取的记录数量不一致,进而产生了“幻觉”一般的现象。也就是说,幻读是指在多个事务同时读取同一范围内的记录时所产生的矛盾现象。MySQL为了解决幻读一般采用快照读和间隙锁的方式,其中快照读在之前的文章已经多次提及,本篇文章重点介绍间隙锁。间隙锁意如其名,就是锁定符合条件但是实际不存在的记录,也就是一定的区间,防止其他事务在某个事务执行期间向该区间插入新的记录。为清楚梳理间隙锁的作用,我们在本文中使用的示例表如下:CREATETABLE`t`(`id`int