美文网首页
解决MySQL在Insert和delete后主键自增ID不连续

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

作者: MccReeee | 来源:发表于2017-06-01 16:17 被阅读848次
    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不连续

          本文链接:https://www.haomeiwen.com/subject/ussefxtx.html