【SQL】IDENTITY_INSERT 设置为 OFF 时,不能为表 '***' 中的标识列插入显式值。

【前言】

今天在处理牛腩添加新闻数据时,将其中一天记录复制为INsert 语句,在执行语句是报错如下:
这里写图片描述

【解决方案】

在执行插入语句前,首先执行

-允许将显式值插入表的标识列中 ON-允许 off - 不允许
SET IDENTITY_INSERT *** ON 

【注意问题】

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

(2)如果插入值大于表的当前标识值,则 SQL Server 自动将新插入值作为当前标识值使用

(3)SET IDENTITY_INSERT 的设置是在执行或运行时设置,而不是在分析时设置

猜你喜欢

转载自blog.csdn.net/qq_31868147/article/details/81836509