递增字段只保证唯一性,再说数据库的记录本来就是无序的,ORDER BY能改变顺序,没必要连续编号,不明白为什么有人会提出这种问题

解决方案 »

  1.   

    你应该用UPDATE的!不知道能不能重置计数器。
      

  2.   

    如果你的确,必须,一定,需要使用连续的序号的话,
    那就不使用自增的就行了。另:如果你加入了1001...1999,2000,然后删除了1001怎么办?
        把后面的都做调整吗?目前所有的数据库的自增字段几乎都是序号使用过就不用了。
    可以修改下个自增值,但是不如使用update了。
      

  3.   

    MySql没有自动回收的功能用过了的ID,insert的时候就不会再用以前的ID了
    除非你写INSERT 指定ID才可以用原来用过的ID你可以先取出数据表里面记录ID的最大值 $id_max
    $newid = $id_max + 1;
    然后插入新记录的时候  insert into table (id,...) values ('$newid',...)
    insert语句在MYSQL里面就是这样的
      

  4.   

    MYISAM这个类型是严格递增的,即删除了之后,下一条记录仍然记得被删除的记录。要继续插入的话,新的记录从被删除的记录+1开始。ISAM这种类型就没有这种限制。要想使MYISAM类型表内现存的记录递增(显示),可以modfiy这个字段的auto_increment属性,先删除在增加。