我新建了一个表,其中有一列ID,是自动增长的,比如我插入5条记录,然后我又删除2条记录,为什么我再插入一条记录的时候,ID显示为6而不是4呢?有没有什么让ID显示为4的方法?谢谢。

解决方案 »

  1.   

    显示成4不是重复了吗?如果非要是4的话,只能手动insert了。
      

  2.   

    可以通过触发器来处理
    在触发器里面抓取
    select max(id)+1 from tb_name
      

  3.   

    自增id是auto_increment 字段的值 这个值是存醋在mysql的系统信息表里的。所以会一直增加。
    select @myid:= max(id)+1 from tab1;
    ALTER TABLE tbl AUTO_INCREMENT = @myid;
      

  4.   

    ID显示为6而不是4呢?
    这是比较正规的做法,即使你的记录删除,但使用过的号码并不应该被再次使用。有没有什么让ID显示为4的方法?
    如果你需要一个连续的号码,则这个号码已经失去作为主键的意义了。不如在你的程序中来实现。