我是新手在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