解决MySQL在Insert和delete后主键自增ID不连续

image.png

比如我有个Specs表,里头有个spec_id是主键切自增。

插入数据

insert into Specs set name='测试照';

然后删除数据

delete from Specs where spec_id = 412;

如果这个时候我再插入数据,会发现spec_id从411直接跳到了413

因为这时候的自增id已经走到413并没有随着数据的删除而改变。
可以查询这时候的auto_increment

select auto_increment from information_schema.tables where table_schema='myDB' and table_name='Specs';

最后建议在每次删除数据后更新当前自增ID

alter table Specs auto_increment= auto_increment - 1;

你可能感兴趣的:(解决MySQL在Insert和delete后主键自增ID不连续)