MsSQL   发布时间:2022-05-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了sql – 由于IDENTITY_INSERT为OFF,因此无法插入显式值,但不能将IDENTITY_INSERT设置为ON,因为它已经开启大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在数据库Foo中有一个名为Bar的表,它有一个名为ID的列,它是主键,此数据库生活在开发sql Server上.

我正在尝试将数据从我们的生产服务器复制到开发服务器中,以便我可以使用所述数据,因此我执行以下操作:

set IDENTITY_INSERT Foo.dbo.bar ON
insert into Foo.dbo.bar
(
   ID,Something,Else,Is,Going,Horribly,Wrong,With,sql
)
SELEct 
  ID,sql
from Production.Foo.dbo.bar

set IDENTITY_INSERT Foo.dbo.bar OFF

我收到错误

嗯,所以IDENTITY_INSERT已经打开了.所以我从我的查询的顶部删除了SET IDENTITY_INSERT Foo.dbo.bar ON,然后执行它,我得到这个错误:

我可以一整天执行SET IDENTITY_INSERT Foo.dbo.bar OFF,但是如果我尝试将其打开,则sql Server 2012说IDENTITY_INSERT已经打开.

解决方法

有趣 – 我刚刚在我的全新ss2012数据库中与4个表中的3个完全相同的问题.

所以我重写了表创建脚本,以插入’set identity on’和’set identity off’,并且它的工作.似乎ss只想一次处理一个表的身份,即您无法设置新的表标识,直到所有其他的关闭.

这样的:

create table employers
(
id int PRIMary KEY IDENTITY,CompanyId nvarchar(50) NOT NULL,companyname nvarchar(80) NOT NULL,address nvarchar(80),Phone nvarchar(10),);

SET IDENTITY_INSERT employers ON;

insert into employers(id,CompanyId,companyName,address,PhonE)
Values
(...),(...)

SET IDENTITY_INSERT employers OFF;

create table customers
(
...

大佬总结

以上是大佬教程为你收集整理的sql – 由于IDENTITY_INSERT为OFF,因此无法插入显式值,但不能将IDENTITY_INSERT设置为ON,因为它已经开启全部内容,希望文章能够帮你解决sql – 由于IDENTITY_INSERT为OFF,因此无法插入显式值,但不能将IDENTITY_INSERT设置为ON,因为它已经开启所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: