加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 钦州站长网 (https://www.0777zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – 为什么IDENTITY_INSERT ON一次仅允许在一个表上?

发布时间:2021-01-08 02:16:19 所属栏目:MsSql教程 来源:网络整理
导读:在这种情况下,一次只能在一个数据库表中将 IDENTITY_INSERT设置为ON,但为什么呢?由于IDENTITY列不是全局唯一的,我无法想象可能由于同时将标识插??入多个表而导致的任何危险情况(至少不比通常用IDENTITY INSERT捏造更危险). IDENTITY INSERT应该很少使用,

在这种情况下,一次只能在一个数据库表中将 IDENTITY_INSERT设置为ON,但为什么呢?由于IDENTITY列不是全局唯一的,我无法想象可能由于同时将标识插??入多个表而导致的任何危险情况(至少不比通常用IDENTITY INSERT捏造更危险).

IDENTITY INSERT应该很少使用,但硬限制的原因是什么?

解决方法

我认为这是困难的.如果你可以随时保留它,为什么甚至有一个身份字段?

但实际上有几个限制:

>它仅在该连接上持续存在
>它只能在每个连接的一个表上设置

根据与连接相关的限制,我认为这主要是因为它永远不会意外地离开.

想象一下,如果有人在你的某个表上打开ID插入,那么你没有意识到并且执行了一个(通常)无效的插入操作会破坏你的ID字段的完整性?

请记住,如果没有约束或唯一索引,ID字段可以具有重复值…

(编辑:PHP编程网 - 钦州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读