我有一个 MS SQL 2005 数据库,其中有一个带有 ID
列的 Test
表。 ID
是一个身份列。
此表中有行,所有行都有相应的 ID 自动递增值。
现在我想像这样更改此表中的每个 ID:
ID=ID+1
但是当我这样做时,我收到一个错误:
Cannot update identity column 'ID'.
我已经尝试过这个:
ALTER TABLE Test NOCHECK CONSTRAINT ALL
set identity_insert ID ON
但这并不能解决问题。
我需要为此列设置标识,但我也需要不时更改值。所以我的问题是如何完成这个任务。
最佳答案
你需要
set identity_insert YourTable ON
然后删除您的行并使用不同的标识重新插入它。
完成插入后,不要忘记关闭identity_insert
set identity_insert YourTable OFF
关于sql-server - 如何以编程方式更改标识列值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/751522/