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

发布时间:2020-05-19 发布网站:脚本之家
脚本之家收集整理的这篇文章主要介绍了sql-server – 为什么IDENTITY_INSERT ON一次仅允许在一个表上?脚本之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在这种情况下,一次只能在一个数据库表中将 IDENTITY_INSERT设置为ON,但为什么呢?由于IDENTITY列不是全局唯一的,我无法想象可能由于同时将标识插​​入多个表而导致的任何危险情况(至少不比通常用IDENTITY INSERT捏造更危险).

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

解决方法

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

但实际上有几个限制:

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

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

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

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

总结

以上是脚本之家为你收集整理的sql-server – 为什么IDENTITY_INSERT ON一次仅允许在一个表上?全部内容,希望文章能够帮你解决sql-server – 为什么IDENTITY_INSERT ON一次仅允许在一个表上?所遇到的程序开发问题。

如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入脚本之家官方QQ群:1065694478