我真的复习了好几次,这就是我要问的原因;寻求指导...
我有一张桌子,如下面的脚本。然后,我设置IDENTITY_INSERT ON
. 然后我尝试进行插入选择,(我需要相同的 ID)
我不断收到此错误:
消息 544,级别 16,状态 1,第 2
行当 IDENTITY_INSERT 设置为 OFF 时,无法在表 'Table1' 中插入标识列的显式值。
有人知道为什么吗?数据库级别的任何设置都可以否决IDENTITY_INSERT ON
?
我很感激任何建议。在此先感谢和亲切的问候。
脚本到表格:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].Table1
(
[TableId] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](256) NOT NULL,
[RowVersion] [timestamp] NOT NULL,
[AddedDate] [datetime2](7) NOT NULL,
[stuff2] [int] NOT NULL,
[ModifiedDate] [datetime2](7) NOT NULL,
[LastModifiedBy] [int] NOT NULL,
CONSTRAINT [Table1_PK]
PRIMARY KEY CLUSTERED ([TableId] ASC)
) ON [PRIMARY]
GO
插入语句:
SET IDENTITY_INSERT [dbo].Table1 ON;
INSERT INTO [dbo].Table1 ([TableId], [Name], [AddedDate], [stuff2], [ModifiedDate], [LastModifiedBy])
SELECT
[RoleID], [Name], [AddedDate], [stuff2], [ModifiedDate], [LastModifiedBy]
FROM
[dbo].Table2