【发布时间】:2016-04-27 05:28:53
【问题描述】:
我的表有 100000 条记录。在此,我有一列是身份列。现在我只想更新身份列的所有这些记录。我想更新所有现有的身份种子并从 3000 开始。
我找到了这个查询,但它只适用于新记录:
DBCC CHECKIDENT ('[Patient]', RESEED, 3000);
【问题讨论】:
-
您为什么要这样做?标识列值绝不意味着业务值。
-
您可以查看以下链接。可能对你有帮助。 stackoverflow.com/questions/19155775/…
-
我在生产服务器上遇到了这个问题,现在想解决这个问题。你有什么解决办法吗?
-
@Nagahornbill 我有外键引用所以我不能删除记录
-
我同意 Raj 的观点 - 我总是建议,如果您关心标识列的 numeric 值,那么您就用错了。当您想要一个唯一的、不透明的 blob 数据来唯一标识行并且它们恰好适合具有数字类型的列时,应该使用它们。
标签: sql sql-server