久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

SQL 插入失敗 - 違反主鍵約束

SQL Insert Failing - Violation of Primary Key Constraint(SQL 插入失敗 - 違反主鍵約束)
本文介紹了SQL 插入失敗 - 違反主鍵約束的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!

問(wèn)題描述

我發(fā)現(xiàn) SQL Insert 語(yǔ)句有一個(gè)非常奇怪的問(wèn)題,我有一個(gè)簡(jiǎn)單的表,有一個(gè) ID 和 2 個(gè)日期時(shí)間,請(qǐng)參閱下面的創(chuàng)建腳本 -

I am seeing a very strange issue with a SQL Insert statement, I have a simple table, with an ID and 2 datetimes, see create script below -

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]

我現(xiàn)在正在嘗試運(yùn)行以下插入腳本 -

I am now trying to run the following insert script -

INSERT INTO [dbo].[DATA_POPULATION_LOGS]
           ([START]
           ,[FINISH])
     VALUES
           (GETDATE()
           ,GETDATE())

由于以下錯(cuò)誤而失敗 -

It is failing with the following error -

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).

每次執(zhí)行insert時(shí),上面錯(cuò)誤信息中的重復(fù)鍵值都會(huì)增加,所以它似乎知道它是一個(gè)標(biāo)識(shí)列.

The duplicate key value in the error message above increases every time the insert is executed, so it seems to know it is an identity column.

是什么導(dǎo)致了這個(gè)問(wèn)題?!

What would be causing this issue?!

提前致謝.西蒙

編輯

我現(xiàn)在已經(jīng)創(chuàng)建了該表的副本,并且可以使用該腳本將其插入到新表中,可能導(dǎo)致它失敗的原因是什么?

I have now created a copy of this table and can insert into the new table fine using that script, what could be causing it to fail?

推薦答案

可能有人針對(duì)該表發(fā)出了 DBCC CHECKIDENT.當(dāng)您這樣做時(shí),SQL Server 將服從您,并嘗試從 RESEED 開(kāi)始生成值并以增量遞增.它不會(huì)首先檢查這些值是否已經(jīng)存在(即使存在 PK).產(chǎn)生相同錯(cuò)誤的簡(jiǎn)單重現(xiàn):

Probably someone issued DBCC CHECKIDENT against the table. When you do this, SQL Server will obey you, and try to generate values starting from the RESEED and incrementing by the increment. It doesn't check first to see if those values already exist (even if there is a PK). Simple repro that generates the same error:

USE tempdb;
GO
CREATE TABLE dbo.floob(ID INT IDENTITY(1,1) PRIMARY KEY);
GO
INSERT dbo.floob DEFAULT VALUES;
GO
DBCC CHECKIDENT('dbo.floob', RESEED, 0);
GO
INSERT dbo.floob DEFAULT VALUES;
GO
DROP TABLE dbo.floob;

為了防止這種情況發(fā)生,你可以弄清楚現(xiàn)在的最大值是多少,然后再次運(yùn)行CHECKIDENT:

To stop this from happening, you could figure out what the max value is now, and then run CHECKIDENT again:

DBCC CHECKIDENT('dbo.tablename', RESEED, <max value + 10 or 20 or something here>);

這篇關(guān)于SQL 插入失敗 - 違反主鍵約束的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來(lái)源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問(wèn)題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請(qǐng)聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

Converting Every Child Tags in to a Single Column with multiple Delimiters -SQL Server (3)(將每個(gè)子標(biāo)記轉(zhuǎn)換為具有多個(gè)分隔符的單列-SQL Server (3))
How can I create a view from more than one table?(如何從多個(gè)表創(chuàng)建視圖?)
Create calculated value based on calculated value inside previous row(根據(jù)前一行內(nèi)的計(jì)算值創(chuàng)建計(jì)算值)
How do I stack the first two columns of a table into a single column, but also pair third column with the first column only?(如何將表格的前兩列堆疊成一列,但也僅將第三列與第一列配對(duì)?) - IT屋-程序員軟件開(kāi)發(fā)技
Recursive t-sql query(遞歸 t-sql 查詢)
Convert Month Name to Date / Month Number (Combinations of Questions amp; Answers)(將月份名稱轉(zhuǎn)換為日期/月份編號(hào)(問(wèn)題和答案的組合))
主站蜘蛛池模板: 青青草华人在线视频 | 射久久| 日韩一区二区av | 国产一区二区在线免费观看 | 成人精品一区二区 | 亚洲男人天堂 | 欧美日韩在线成人 | 综合精品久久久 | 在线成人免费观看 | 免费特黄视频 | 欧美日韩一 | 国产三级网站 | 国产精品一区二区三区四区 | 草草视频在线播放 | 国产视频91在线 | 日韩成人 | 日韩成人在线视频 | 91大片 | 日韩欧美在线视频 | 久久大陆| 亚洲欧美在线一区 | 色视频网站 | 国产欧美综合在线 | 91久久精品日日躁夜夜躁欧美 | 精品国产一区二区三区久久久四川 | 国产激情精品一区二区三区 | 精品视频一区二区三区在线观看 | 久久99精品久久久久久 | www.久| 九九热精品视频 | 一区二区三区视频 | a级在线免费 | 久草www| 亚洲一区不卡 | 免费网站国产 | 欧美天堂在线观看 | 亚洲视频网 | 色接久久| 亚洲天天干 | 91精品亚洲 | 99久久久99久久国产片鸭王 |