无法为标识列插入显式值

Cannot insert explicit value for identity column

我正在将我的应用程序从一个数据库迁移到另一个数据库,同时保持 table 结构不变。我在新 table 中创建相同的 tables 并使用 db link 插入值。 我收到类似 "Cannot insert explicit value for identity column in table 'XYZ' when IDENTITY_INSERT is set to OFF." 的错误消息,因为 table XYZ 将 ScreenConfigSettingAccessId 作为标识列

下面是我用来创建 table 和插入值

的脚本
     CREATE TABLE [dbo].[XYZ](
[ScreenConfigSettingAccessId] [int] IDENTITY(1,1) NOT NULL,
[APP_ID] [int] NOT NULL,
[ScreenConfigSettingId] [int] NOT NULL,
[RSRC_ID] [char](20) NOT NULL)
)


INSERT INTO [dbo].[XYX]
       (
[ScreenConfigSettingAccessId] ,
[APP_ID] ,
[ScreenConfigSettingId] ,
[RSRC_ID] 
)
SELECT 
[ScreenConfigSettingAccessId] ,
[APP_ID] ,
[ScreenConfigSettingId] ,
[RSRC_ID] 
FROM [olddatabase].[database name].[dbo].[XYX]

在旧 table 中,ScreenConfigSettingAccessId 的值为 3 和 4。

我想插入与旧 table 相同的数据,所以将 IDENTITY_INSERT 设置为 ON 并尝试但仍然不允许插入。

正在寻找您的建议

您需要指定table。查看 SQL 联机丛书中的命令语法:SQL 2000 or SQL 2012(语法未更改)。