我们在设计Mysql的表结构时,通常会将id设置成自增,这样当我们通过id作为主键时能得到较好的性能,同时也是因为这样设计比较简单。
但是有时候我们会发现我们的自增id并不是自增的,比如id的顺序可能是1,2,4,6,8,导致这样原因的因素有多种,但最常见的原因是你在插入一条数据时发生了错误,比如由于设置唯一键的列相同,导致后一条数据没有插入成功,此时虽然数据没有插入成功,但自增的id值已经加1,我们可以认为,自增id的操作发生在插入之前,并且不具有事务性。
今天想说的是我们在应用insert ignore into 和 insert into … on duplicate key update 的时候,也会出现此种现象,这两条语句的具体作用我们不在此进行描述。
insert ignore和insertOrUpdate会引起自增ID不连续
最新推荐文章于 2024-07-26 03:37:57 发布