无法为标识列插入显式值
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 结构不变。我在新 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 并尝试但仍然不允许插入。
正在寻找您的建议