我看到有一个SQL INSERT语句一个很奇怪的问题,我有一个简单的表,有ID和2个日期时间,请参阅下面创建脚本 -SQL插入失败 - 主键约束违反
CREATE TABLE [dbo].[DATA_POPULATION_LOGS](
[ID] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
[START] [datetime] NOT NULL,
[FINISH] [datetime] NOT NULL,
CONSTRAINT [PK__DATA_POP__3214EC2705D8E0BE] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
我现在想运行以下插入脚本 -
INSERT INTO [dbo].[DATA_POPULATION_LOGS]
([START]
,[FINISH])
VALUES
(GETDATE()
,GETDATE())
它与下面的错误而失败 -
Msg 2627, Level 14, State 1, Line 1
Violation of PRIMARY KEY constraint 'PK__DATA_POP__3214EC2705D8E0BE'. Cannot insert duplicate key in object 'dbo.DATA_POPULATION_LOGS'. The duplicate key value is (11).
上面的错误消息中的重复键值在每次执行插入时都会增加,所以它似乎知道它是一个标识列。
什么会导致此问题?
在此先感谢。 西蒙
编辑
我现在已经创建了此表的副本,可以插入到新表细使用脚本,这可能是导致其失败?
你已经有一排ID 11.你是否重新加入了标识列,以便从1重新开始? –
该表已经包含1000行,我没有重播任何东西,只是想知道为什么会发生这种情况,好像下面的答案 – user1948635