最近做个小项目,用mysql,id设置了自增长。但问题来了;比如某表里,我插入了10条数据。id顺序是12345678910。这时我删除了表中的第5条数据后,再插入数据。ID号就变成1,2,3,4,6,7,8,9,10,11。ID有空缺了。请问在mysql里有没有机制可以让id自动填补? 谢谢。望前辈们指点指点!

解决方案 »

  1.   

    手动填补吧,你可以 select 一下哪个 id 不存在的,就存入哪个ID里面
      

  2.   

    手动insert into #table(id) values(5);
      

  3.   

    可能通过触发器来实现,
    创建一个与该表对应的id表,
    当该表删除操作时,插入删除的id到id表
    当该表插入数据时,从id表里取最小的id插入,并删除该id,如果id表为空,则直接取identity的next值。