我是新手在SQL Server.I正在開發一個項目的數據庫,所以我有一箇舊的數據庫和我創建了一個新的現在我正在將舊數據庫中的參數導入到一個新的數據庫中。但是有一些表給我提供了違規密鑰錯誤。我該如何解決這個問題。以下是在該事項上表中的腳本:SQL SERVER,消息2627,級別14,狀態1,行4違反PRIMARY KEY約束
Create Table TabProv
(
CodProvincia int,
DescrProvv Char (35),
DataHorC datetime,
DataHorA datetime,
CodOp1 varchar (6),
CodOp2 varchar(6),
CONSTRAINT PK_TabProv_CodProv PRIMARY KEY(CodProvincia)
);
Create Table TabMunicipio
(
CodProvincia int,
CodMunicipio int,
DescMun char(35) ,
DataHorC datetime,
DataHorA datetime,
CodOp1 varchar (6),
CodOp2 varchar(6),
CONSTRAINT PK_TabMunicipio_CodMunicipio PRIMARY KEY(CodMunicipio),
CONSTRAINT FK_TabMunicipio_TabProv FOREIGN KEY(CodProvincia) REFERENCES TabProv(CodProvincia)
);
Create Table TabLoca
(
CodProvincia int,
CodMunicipio int,
CodLoc int,
DescLoc char(35) ,
DataHorC datetime,
DataHorA datetime,
CodOp1 varchar (6),
CodOp2 varchar(6),
CONSTRAINT PK_TabLoca_CodLoc PRIMARY KEY(CodLoc),
CONSTRAINT FK_TabLoca_TabMunicipio FOREIGN KEY(CodMunicipio) REFERENCES TabMunicipio (CodMunicipio),
CONSTRAINT FK_TabLoca_Prov FOREIGN KEY(CodProvincia) REFERENCES TabProv (CodProvincia)
);
所以創建這個3日消息表之後,我popultaing這個新表DBO,與正坐在舊的數據庫表中的值,表MUNICIPIO作品般的魅力,但表箴給我這個錯誤:
DELETE FROM GESTHANDNET2015v1.dbo.TabMunicipio;
INSERT INTO GESTHANDNET2015v1.dbo.TabMunicipio([CodMunicipio],[DescMun],[CodOp1],[CodOp2],[DataHorA])
SELECT T2.[CODMUN],[DESMUN],[CODOP],[CODOP2],[DATMOD] FROM
GestHandnet.dbo.TABMUN T2;
(0 row(s) affected)
Msg 2627, Level 14, State 1, Line 4
Violation of PRIMARY KEY constraint 'PK_TabMunicipio_CodMunicipio'.
Cannot insert duplicate key in object 'dbo.TabMunicipio'.
The duplicate key value is (1). The statement has been terminated.
請問我做錯了。
如果你讀**所有的錯誤消息的話**,它闡明瞭相當清楚的,問題是,你試圖插入重複鍵進入TabMunicipio的CodMunicipo列,這樣做違反了主鍵約束。可以清晰多少**您試圖在[此確切表格]中的[確切字段]中插入重複值**是嗎? –
所以感謝馬特,我只想知道至極其中之一被設置爲1.CodProvincia或CodMunicipio?因爲我試圖插入只是其中之一,並錯誤繼續 –
你定義有'約束PK_TabMunicipio_CodMunicipio PRIMARY KEY(CodMunicipio)'這是主鍵,因此'CodMunicipio'是一個有兩個記錄GestHandNet.dbo.TaBMUN.CodMunicipio具有與CodMunicipio的1 – xQbert