如果我要每条记录中有个字段保持随加入时间的顺序递增怎么做比如说有 表拍卖轮数表
有个字段为轮数
比如第一次加入数据1 ,第二次加入数据2 ,然后删除了2 ,第三次加入的时候是3 ,而不是4 就是跟着这个表中最大的字段
接着往下编 我想的方案是 每次插入数据的时候到里面select max(轮数) from table
然后
取出这个字段最大值 +1然后加进去 但是这样做的效率是很低啊 有没有别的方法能实现的
有个字段为轮数
比如第一次加入数据1 ,第二次加入数据2 ,然后删除了2 ,第三次加入的时候是3 ,而不是4 就是跟着这个表中最大的字段
接着往下编 我想的方案是 每次插入数据的时候到里面select max(轮数) from table
然后
取出这个字段最大值 +1然后加进去 但是这样做的效率是很低啊 有没有别的方法能实现的
解决方案 »
- 如果使用mysql自带的event_scheduler实现自动修复所有表
- 这条mysql语句是不是真没法优化了?
- mysql能自动按月拆分表吗
- 假如mysql数据库中某列大约有100000条32位随机字符串,要找出某个特定的字符串,怎样优化搜索?
- 按照a.evid 的各个分组下 只能要全部b.status=1的分组
- jsp 连mysql 驱动位置的问题
- mysql的表约束问题
- mysql象Postgresql 一样支持数据的完整性和存储过程吗
- win2000+JDK1.3+Tomcat+mysql环境下该如何安装JDBC驱动程序?
- sql优化问题 大神可以看看吗
- 通过逗号将一条记录分离成多条
- 多表连接的优化问题
id int not null primary key auto_increment;
基本上在数据库产品中都有一种自动增长的字段类型,比如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.6.9. 使用AUTO_INCREMENT
可以通过AUTO_INCREMENT属性为新的行产生唯一的标识:
如果有条件限制的分别递增(也就是该字段可重复),
那么新纪录的轮数 = select max(轮数)+1 from table where 某些条件...