我有一个表,其中某个列具有活动的自动增量,但是我进行了一些测试,在测试期间,我创建了多个记录并排除了其中一些记录。我想为那些留下的人生成新的数字,而不必删除... 例如:它们是3条记录,一条记录为5,另一条记录为16,另一条记录为18。我希望第一个记录为1,第二个为2,第三个为3。当然,新记录遵循该顺序。>
答案 0 :(得分:0)
更改ID通常不是一个好主意。 id的目的是为了识别表中的行,以了解外键关系以及随着时间的推移。
但是,如果需要,您可以更改数字:
with toupdate as (
select t.*, row_number() over (order by id) as new_id
from t
)
update toupdate
set id = new_id;