InnoDB是一个支持行锁的存储引擎,它有三种行锁的算法: Record Lock:行锁,单个行记录上的锁. Gap Lock:间隙锁,锁定一个范围,但不包括记录本身.GAP锁的目的,是为了防止幻读.防止间隙内有新数据插入.防止已存在的数据更新为间隙内的数据. Next-Key Lock:1+2,锁定一个范围,并且锁定记录本身.对于行的查询,都是采用该方法,主要目的是解决幻读的问题.InnoDB默认加锁方式是next-key 锁. 这三种锁都是排它锁(X锁). 要详细了解间隙锁可以参考这篇文章: