查询用new替换当前ID

时间:2011-08-02 03:01:24

标签: mysql

我使用PHPMyAdmin导入了一个数据库。很多行都没用,我最终获得了300行,达到了ID 5000以上。如何删除所有当前ID并为其提供所有新ID?

我有一个名为Date的列,带有时间戳。按日期订购ID会很好,但这不是什么大问题。

查询将如何?

1 个答案:

答案 0 :(得分:0)

要为所有行重新编号以获得1-n的ID,请尝试以下操作:

首先,运行此命令以防止第二个查询导致id冲突:

update mytable set id = id + 1000000;

然后运行此命令,它将按日期顺序重新编号所有ID 1-n:

set @id:=0;
update mytable set
id = (@id := @id + 1)
order by Date;