本文翻译自:How to turn IDENTITY_INSERT on and off using SQL Server 2008?

Why am I getting an error doing an insert when IDENTITY_INSERT is set to OFF? IDENTITY_INSERT设置为OFF时,为什么我在插入时出错?

How do I turn it on properly in SQL Server 2008? 如何在SQL Server 2008中正确启用它? Is it by using SQL Server Management Studio? 是使用SQL Server Management Studio吗?

I have run this query: 我运行了这个查询:

SET IDENTITY_INSERT Database. dbo. Baskets ON

Then I got the message back in the console that the Command(s) completed successfully. 然后我在控制台中收到消息,命令已成功完成。 However when I run the application, it still gives me the error shown below: 但是当我运行应用程序时,它仍然给出了如下所示的错误:

Cannot insert explicit value for identity column in table 'Baskets' when
IDENTITY_INSERT is set to OFF.

#1楼

参考:https://stackoom.com/question/TdXR/如何使用SQL-Server-打开和关闭IDENTITY-INSERT


#2楼

I had a problem where it did not allow me to insert it even after setting the IDENTITY_INSERT ON. 我有一个问题,即使在设置IDENTITY_INSERT后,它也不允许我插入它。

The problem was that i did not specify the column names and for some reason it did not like it. 问题是我没有指定列名称,并且由于某种原因它不喜欢它。

INSERT INTO tbl Values(vals)

So basically do the full INSERT INTO tbl(cols) Values(vals) 所以基本上完​​成INSERT INTO tbl(cols)值(vals)


#3楼

当您有一个PRIMARY KEY字段并且您正在插入一个重复的值或者您将INSERT_IDENTITY标志设置为on时,这很可能


#4楼

You need to add the command 'go' after you set the identity insert. 设置标识插入后,需要添加命令“go”。 Example: 例:

SET IDENTITY_INSERT sometableWithIdentity ON
goINSERT sometableWithIdentity (IdentityColumn, col2, col3, ...)
VALUES (AnIdentityValue, col2value, col3value, ...)SET IDENTITY_INSERT sometableWithIdentity OFF
go

#5楼

Import: You must write columns in INSERT statement 导入:您必须在INSERT语句中写入列

INSERT INTO TABLE
SELECT * FROM

Is not correct. 是不正确的。

Insert into Table(Field1,...)
Select (Field1,...) from TABLE

Is correct 是正确的


#6楼

It looks necessary to put a SET IDENTITY_INSERT Database.dbo.Baskets ON; 看起来有必要将SET IDENTITY_INSERT Database.dbo.Baskets ON;置于SET IDENTITY_INSERT Database.dbo.Baskets ON; before every SQL INSERT sending batch. 在每个SQL INSERT发送批处理之前。

You can send several INSERT ... VALUES ... commands started with one SET IDENTITY_INSERT ... ON; 您可以使用一个SET IDENTITY_INSERT ... ON;发送几个INSERT ... VALUES ...命令SET IDENTITY_INSERT ... ON; string at the beginning. 一开始的字符串。 Just don't put any batch separator between. 只是不要在它之间放任何批处理分隔符。

I don't know why the SET IDENTITY_INSERT ... ON stops working after the sending block (for ex.: .ExecuteNonQuery() in C#). 我不知道为什么SET IDENTITY_INSERT ... ON在发送块之后停止工作(例如C#中的.ExecuteNonQuery() )。 I had to put SET IDENTITY_INSERT ... ON; 我不得不把SET IDENTITY_INSERT ... ON; again at the beginning of next SQL command string. 再次在下一个SQL命令字符串的开头。

如何使用SQL Server 2008打开和关闭IDENTITY_INSERT?相关推荐

  1. SQL Server 2008创建数据库

    创建数据库就是为数据库确定名称.大小.存放位置.文件名和所在文件组的过程.在一个SQL Server 2008实例中,最多可以创建32767个数据库,数据库的名称必须满足系统的标识符规则.在命名数据库 ...

  2. SQL SERVER 2008 登陆失败(SQL和windows都没有对应的权限)

    昨天在测试一些权限今天早上来就发现SQL SERVER 登陆不上去,报错为: 用户登陆失败:消息 18456,级别 14,状态 1,服务器 XXX,第 1 行 .  用户 'XXX' 登录失败.我的服 ...

  3. 从SQL Server 2000/2005到SQL Server 2008的升级测试

    本文部分内容摘自<SQL Server 2008管理实战>,人民邮电出版社:<深入MSSQL 2008升级和应用程序的兼容性>,IT专家网:<SQL Server 200 ...

  4. SQL Server 2008最直观的变化上(三)

    来谈谈SQL Server 2008最直观的变化.所谓最直观变化就是SQL Server 2008区别于SQL Server 2005在功能和界面方面的人为感知的变化. <?xml:namesp ...

  5. SQL Server 2008新特性——SSMS增强

    SQL Server 2008已经发布很多天了,今天来总结一下我们最常用的工具SSMS在SQL 2008中的一些改进: 1.在注册的服务器组中一次SQL查询可以针对多个服务器执行. 首先是要在&quo ...

  6. SQL Server 2008中的代码安全(四):主密钥

    SQL Server 2008中SQL应用系列--目录索引 在SQL Server中的加密由层次结构形式进行处理以提供多级别的安全.SQL Server包含两个用于加密数据的密钥类型.如下图: 1.服 ...

  7. SQL Server 2008安装配置说明书+简单使用 亲测可用

    SQL Server 2008 序列号: Developer: PTTFM-X467G-P7RH2-3Q6CG-4DMYB Enterprise: JD8Y6-HQG69-P9H84-XDTPG-34 ...

  8. [转帖]真TM长的:SQL Server 2008存储结构——GAM和SGAM、PFS结构、IAM结构、DCMBCM

    谈到GAM和SGAM,我们不得不从数据库的页和区说起. https://blog.csdn.net/snowfoxmonitor/article/details/49991015 一个数据库由用户定义 ...

  9. 一个不知名的网站复制来的: java怎样连接到SQL server 2008

    教程:java怎样连接到SQL server 2008 为了写学校的实训课作业,想给数据库加个前端口,结果为了看似简单的java连解sql server 2008,刚才试验了不知道多少次,来来回回数不 ...

最新文章

  1. 研究报告:城市大脑的起源、现状与未来趋势
  2. window编程_消息分类
  3. ASP.NET 2.0中将 GridView 导出到 Excel 文件中 (转)
  4. 突击计划——求数列之和
  5. Python办公自动化(六)|自动更新表格,
  6. IE和火狐CSS透明层兼容写法
  7. word页眉的横线怎么居中
  8. win7装sql2000找不到服务器,WIN7 64位系统 SQL2000服务无法启动
  9. 费马小定理(详细证明)
  10. 自定义组件使用v-modle
  11. 2020年电工(中级)新版试题及电工(中级)考试申请表
  12. win10 enterprise
  13. MySQL 数据类型和约束(外键是重点
  14. 小爱同学指令大全_小爱同学有哪些隐藏功能?小爱同学实用隐藏功能大汇总
  15. python cannot concatenate_python相关报错及解决方式
  16. CFS调度时间片计算
  17. minecraft_我们未来的机器人影响者:尝试使用Minecraft玩的Twitch流媒体机器人
  18. Java编程那些事儿68——抽象类和接口(一)
  19. 有限元流体模拟matlab仿真
  20. 物理数据处理,不确定度的计算C++代码

热门文章

  1. OpenGL相关网站
  2. 【剑指offer-Java版】08旋转数组的最小数字
  3. redis哨兵机制在集群中的应用
  4. swift_020(Swift 的属性)
  5. bzoj 2457 [BeiJing2011]双端队列 模拟+贪心
  6. overflow的量两种模式
  7. eclipse 的快捷键
  8. 中国移动OnetNet云平台 使用以太网传输数据流步骤
  9. 设置sql*plus的sqlprompt
  10. vimrepress