SET IDENTITY_INSERT给出一个错误-表的IDENTITY_INSERT已经打开

问题描述 投票:0回答:2

使用简单的插入语句,我试图使用具有自身定义的Identity属性的PK键将数据显式地插入表中。但是,当我运行下面的语句时,我收到了奇怪的错误消息

SET IDENTITY_INSERT MyDB.dbo.MyTable ON

Msg 8107,第16级,状态1,第163行表'MyDB.dbo。AnotherTable'的IDENTITY_INSERT已经打开。无法对表'MyDB.dbo。MyTable'。

执行SET操作。

为什么当为MyDB.dbo.AnotherTable指定了Identity_Insert时,为什么对MyDB.dbo.MyTable抱怨?

某些其他表也给出类似的错误。

sql sql-server foreign-keys primary-key identity-column
2个回答
0
投票

问题是我与服务器的SQL Server 2016连接。断开连接并重新连接后,一切正常!


0
投票

根据documentation

在任何时候,会话中只有一个表的IDENTITY_INSERT属性可以设置为ON。

如果需要在多个表中插入明确的IDENTITY值,请确保在移至下一个表之前将上一个表的IDENTITY值设置为OFF。

© www.soinside.com 2019 - 2024. All rights reserved.