gpt4 book ai didi

SQL Server 身份抑制上下文

转载 作者:行者123 更新时间:2023-12-05 00:35:20 25 4
gpt4 key购买 nike

使用 SQL Server 2008 R2,我有一个用户表,我想在其中为手动输入系统用户保留前 99 个 ID 值。我已将我的身份种子设置为 100,以便所有新用户在正常行为中都将获得 100+ 的值。我发现我可以使用 SET IDENTITY_INSERT禁止标识规范并为此列提供显式值。我需要知道并且无法从 MSDN 中真正理解的是,这种抑制是否仅适用于正在运行的脚本的上下文。 (即,在站点上创建的新用户调用正常的插入过程,仍将获得下一个值 > 100 的自动生成的 ID)

最佳答案

SET IDENTITY_INSERT允许您直接插入标识值,它不需要它。因此,即使它是共享设置,运行“正常” INSERT 也会获得自动生成的身份。

也就是说,它也是针对每个 session 的设置,因此您倍加安全。

至于设计 - 我做过类似的,并没有看到它的问题。拥有“众所周知”的标识符是相当普遍的——尽管您必须决定 100 是否是一个合适的保留块。虽然可能,但您确实不想在以后打开非连续块。过去没有保留范围时,我使用过负数。

关于SQL Server 身份抑制上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9536373/

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