如果我要每条记录中有个字段保持随加入时间的顺序递增怎么做比如说有 表拍卖轮数表
有个字段为轮数
   
比如第一次加入数据1 ,第二次加入数据2 ,然后删除了2 ,第三次加入的时候是3 ,而不是4 就是跟着这个表中最大的字段 
接着往下编  我想的方案是 每次插入数据的时候到里面select max(轮数) from table
然后 
取出这个字段最大值 +1然后加进去 但是这样做的效率是很低啊  有没有别的方法能实现的 

解决方案 »

  1.   

    把这个字段设置为主键,auto_increment
    id int not null primary key auto_increment;
      

  2.   


    基本上在数据库产品中都有一种自动增长的字段类型,比如sql server 的identity, oracle 的sequence. 在MYSQL中则是auto_increment.mysql> create table renzaijiang (id int primary key auto_increment, col int);
    Query OK, 0 rows affected (0.28 sec)mysql>
    mysql> insert into renzaijiang values (null,10);
    Query OK, 1 row affected (0.06 sec)mysql> select * from renzaijiang;
    +----+------+
    | id | col  |
    +----+------+
    |  1 |   10 |
    +----+------+
    1 row in set (0.00 sec)mysql> insert into renzaijiang values (null,20);
    Query OK, 1 row affected (0.03 sec)mysql> select * from renzaijiang;
    +----+------+
    | id | col  |
    +----+------+
    |  1 |   10 |
    |  2 |   20 |
    +----+------+
    2 rows in set (0.00 sec)mysql>
      

  3.   

    http://dev.mysql.com/doc/refman/5.1/zh/tutorial.html#example-auto-increment
    3.6.9. 使用AUTO_INCREMENT
    可以通过AUTO_INCREMENT属性为新的行产生唯一的标识:
      

  4.   

    你如果是整表唯一的递增用AUTO_INCREMENT就ok了,
    如果有条件限制的分别递增(也就是该字段可重复),
    那么新纪录的轮数 = select max(轮数)+1 from table where 某些条件...