日期:2014-05-16 浏览次数:20778 次
mysql> select * from test; +------+------+------+ | id | name | num1 | +------+------+------+ | 1 | a | 1 | | 2 | b | 2 | | 3 | c | 3 | | 5 | e | 5 | | 6 | f | 6 | +------+------+------+ 5 rows in set (0.00 sec) mysql> update test set num1=(select t.rownum from( -> select a.id,a.name,count(*) as rownum from test a,test b -> where a.num1>=b.num1 group by a.id,a.name) t where test.id=t.id); Query OK, 2 rows affected (0.02 sec) Rows matched: 5 Changed: 2 Warnings: 0 mysql> select * from test; +------+------+------+ | id | name | num1 | +------+------+------+ | 1 | a | 1 | | 2 | b | 2 | | 3 | c | 3 | | 5 | e | 4 | | 6 | f | 5 | +------+------+------+ 5 rows in set (0.00 sec) mysql>
------解决方案--------------------
如果你要重新对ID进行编号,只有导入到一张新的自增表中