原文:https://www.cnblogs.com/Flyear/p/3593897.html
如果您遇到以下错误消息:
只有在使用列列表且IDENTITY_INSERT为ON时,才能指定表“<TABLE_NAME>”中标识列的显式值。
有两个问题需要解决:
1.设置 IDENTITY_INSERT
您没有在表上启用身份插入,这意味着SQL Server不允许您插入Identity列。
这可以通过以下声明纠正:
SET IDENTITY_INSERT table_name ON
完成后再将其关闭
SET IDENTITY_INSERT table_name OFF
但是,它也可能意味着您正在使用例如INSERT INTO,其中消息告诉您指定列名称。 这意味着使用以下语法:
2.指明插入列名
eg:
SET IDENTITY_INSERT target_able_name ON
INSERT INTO target_able_name(column_name1,column_name2 … column_nameN)values(column_value1,column_value2……column_valueN)
go
set IDENTITY_INSERT target_able_name off
go