Соединение таблиц в базе данных - PullRequest
1 голос
/ 20 декабря 2011

Я создал простую базу данных в SQL Server Express, которая состоит из трех таблиц: Inventory, Customers, Orders.

Я пытаюсь соединить их в диаграмме БД, заставляя первичные ключи Inventory и Customers (CarID и CustID) использовать в качестве внешних ключей для Orders. Однако, когда я пытаюсь сохранить диаграмму, я получаю сообщение об ошибке, которое не позволяет мне сохранить диаграмму и связать таблицы.

Ошибка указывает:

Оператор ALTER TABLE конфликтует с ограничением FOREIGN KEY "FK_Orders_Inventory". Конфликт произошел в базе данных "AutoLot", таблица "dbo.Inventory", столбец "CarID".

FK_Orders_Inventory - это соединение между Inventory и Orders. Что может быть потенциальной причиной ошибки?

Ответы [ 2 ]

3 голосов
/ 21 декабря 2011

Данные в настоящее время в таблице, вероятно, не соответствуют ограничениям, которые вы определили.

Перед добавлением убедитесь, что данные соответствуют ограничениям.

В этом случае один из определяемых вами внешних ключей завершается ошибкой, поскольку столбец, для которого вы его определяете (в Inventory таблица) содержит значения, которых нет в указанном столбце (CarId) во внешней таблице.

1 голос
/ 21 декабря 2011

У вас есть значение CarID в дочерней таблице, которого нет в родительской таблице.

...