只有在使用列列表并且IDENTITY_INSERT为ON时,才能指定表'COM_MST'中标识列的显式值

时间:2013-08-27 06:02:19

标签: sql-server identity

不知道为什么这段代码没有执行......

SET IDENTITY_INSERT COM_MST ON
GO
INSERT INTO COM_MST 
SELECT * FROM COM_MST_DEL

并显示错误

An explicit value for the identity column in table 'COM_MST' can only be specified when a column list is used and IDENTITY_INSERT is ON.

2 个答案:

答案 0 :(得分:8)

您必须在insert语句中指定列

答案 1 :(得分:1)

SET IDENTITY_INSERT COM_MST ON
GO
INSERT INTO COM_MST 
SELECT * FROM COM_MST_DEL

在此,您的select语句SELECT * FROM COM_MST_DEL可能返回的内容多于表COM_MST中可用的列,同时请确保在Insert语句中指定列名。

OR

请参阅帖子An explicit value for the identity column in table can only be specified when a column list is used and IDENTITY_INSERT is ON SQL Server

中提出的解决方案