嘿所有我想从1开始重新设置我的IDENTITY COLUMN值我知道如何用DBCC CHECKIDENT做这个,但是,我想替换所有现有行中的值..这个表有200多万行
这项任务的最佳方法是什么?
答案 0 :(得分:6)
您只需添加新的标识列即la How to add a new identity column to a table in SQL Server?即可。只需删除旧列并重新添加即可。当然,这会破坏任何外键,但我认为,因为你正在重新编号,我猜这一切都没问题。
答案 1 :(得分:2)
请参阅此示例如何替换值,但RESEED是其他内容:
CREATE TABLE t (id INT IDENTITY)
GO
INSERT t DEFAULT VALUES
GO 25
SET IDENTITY_INSERT t ON
delete t
OUTPUT DELETED.Id+100 INTO T(Id)
SET IDENTITY_INSERT t Off
SELECT * FROM t
DROP TABLE t
重新种植:
的示例DBCC CHECKIDENT('YourTableName', 150, reseed)
和强>
如果你必须更换值 - 用2M行,它肯定需要时间