Я новичок в SQL Server. Я разрабатываю базу данных для проекта. Поэтому у меня есть старая база данных, и я создал новую и теперь я импортирую аргументы, которые сидят в старой базе данных, в новую. Но есть несколько таблиц, которые дают мне ошибку с нарушением. Как я могу это решить. Вот сценарии для таблиц, которые имеют значение:SQL SERVER, Msg 2627, Level 14, State 1, Line 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 работает как шарм , но таблица Prov дает мне эту ошибку:
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.
Пожалуйста, что я делаю неправильно.
Если вы прочитали ** все слова ** в сообщении об ошибке, это довольно ясно говорит о том, что проблема заключается в том, что вы пытаетесь вставить дублирующий ключ в столбец CodMunicipo в TabMunicipio, и что это нарушает ограничение первичного ключа. Насколько яснее можно сделать ** Вы пытаетесь вставить дублирующее значение в [это точное поле] в [этой точной таблице] ** be? –
so Thanks Matt, я только хочу знать, что один из них установлен в 1.CodProvincia или CodMunicipio? Потому что я попытался вставить только один из них, и ошибка продолжается –
у вас есть в определении 'CONSTRAINT PK_TabMunicipio_CodMunicipio PRIMARY KEY (CodMunicipio)' Это первичный ключ, поэтому «CodMunicipio» - это тот, у которого две записи в GestHandNet.dbo.TaBMUN.CodMunicipio, имеющие более 1 записи с CodMunicipio из 1. – xQbert