gpt4 book ai didi

sql - IDENTITY_INSERT - 设置值重置下一个身份?

转载 作者:搜寻专家 更新时间:2023-10-30 19:55:11 26 4
gpt4 key购买 nike

我不太熟悉 SQL Server,但我正在编写一个脚本,该脚本在 IDENTITY ON 的表上显式设置插入值。由于一些计划不周的架构 - 看起来我将不得不显式插入一些任意高的数字(例如 10,000)。

在未来的 INSERT 中(不是 INDENTIY_INSERTS),它会被插入到 10,001 吗?还是最低的“免费”时段?

例如 - 表当前有 1-50 行,我做了一个 IDENTITY_INSERT 看起来像这样

SET IDENTITY_INSERT [dbo].[ConditionPathways] ON
INSERT INTO [dbo].[ConditionPathways] ([ConditionPathwayID], [ConditionSegmentID], [WorkflowDefinitionID])
VALUES (10000, 10000, 10000)
SET IDENTITY_INSERT [dbo].[ConditionPathways] OFF

下一个“正常”插入,将它放在 10001 还是 51?我真的希望它是 51。

最佳答案

关闭 IDENTITY_INSERT 后,下一个可用身份将是 10001。

您可以使用 DBCC CHECKIDENT 为身份字段重新设定种子使用 RESEED 选项将下一个标识设置回 51。这样做的问题是,当表填满到最后插入的项目的标识为 9999 时,下一个项目将要么导致重复标识,要么导致错误,具体取决于您是否对标识列具有唯一约束。

关于sql - IDENTITY_INSERT - 设置值重置下一个身份?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4994355/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com