Невозможно получить внешний ключ - PullRequest
0 голосов
/ 19 октября 2011
USE Kudler_FF
ALTER TABLE Employee_Tbl
ADD CONSTRAINT FK_Employee_Tbl
FOREIGN KEY (JobTitle) REFERENCES Job_Tbl (JobTitle);

Сообщение, которое я получаю:

Сообщение 547, уровень 16, состояние 0, строка 2
Оператор ALTER TABLE конфликтует с ограничением FOREIGN KEY "FK_Employee_Tbl".Конфликт произошел в базе данных «Kudler_FF», таблице «dbo.Job_Tbl», столбце «JobTitle».

Что я добавил или не добавил

1 Ответ

1 голос
/ 19 октября 2011

Обычно вы получаете ошибку добавления ограничения внешнего ключа только тогда, когда ограничение будет нарушено текущими данными.

Другими словами, у вас, вероятно, есть значение в Employee_Tbl(JobTitle), которого нет в Job_Tbl(JobTitle).

Вы не сможете добавить такое ограничение, пока ваши данные не будут изменены, чтобы нарушение не произошло.

Найдите значения для JobTitle в Employee_Tbl, которые не существует в Job_Tbl, а затем добавить их в эту последнюю таблицу.

Я не уверен в точном синтаксисе SQL Server, но вы могли бы начать с:

select distinct JobTitle from Employee_Tbl
where JobTitle not in (
    select distinct JobTitle from Job_Tbl
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...