当 IDENTITY_INSERT 设置为 OFF 时,不能向表中的标识列插入显式值

在SQL Server数据库操作中,当IDENTITY_INSERT设置为OFF时,遇到无法向标识列插入数据的问题。该问题源于并发执行INSERT语句时,一个会话内只能有一个表的IDENTITY_INSERT为ON。解决方案包括临时开启IDENTITY_INSERT或者调整配置文件。参考外部资源可找到详细步骤。

前言:

今天在机房重构的时候,在完成操作员给顾客退卡时,发生了错误不能向结账表中插入数据。

当 IDENTITY_INSERT 设置为 OFF 时,不能向表'CheckOut'中的标识列插入显式值

原因:

1.在执行Insert语句时出现

2.任何时候,会话中只有一个表的 IDENTITY_INSERT 属性可以设置为 ON。如果某个表已将此属性设置为 ON,并且为另一个表发出了 SET IDENTITY_INSERT ON 语句,则 Microsoft® SQL Server™ 返回一个错误信息,指出 SET IDENTITY_INSERT 已设置为 ON 并报告此属性已设置为 ON 的表。

解决方法:

参考博客:https://www.cnblogs.com/wzzyuxi/p/11174958.html

1.我使用的是第一种方法:允许将显式值插入表的标识列中

在我们原来的数据库操作语句之前加上一句话:

set identity_insert CheckOut(表名) ON

使之成为


                
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值