Что было бы лучшим способом связать эти две таблицы

У меня есть две таблицы в базе данных, обе из которых получены из официальных правительственных справочных таблиц, изначально предоставленных в форме электронных таблиц.

Структура этих двух таблиц показана ниже.

Таблица 1 (Видовые коды)

Таблица 2 (допустимые коды представления)

Когда я пытаюсь создать связь между первым и вторым (чтобы в полной мере использовать возможность поиска значений во второй таблице, я получаю следующую ошибку при попытке связать pescodes.FAOCode с allowstates.ErsSpeciesCodes).

Таблица "SpeciesCodeLookup" успешно сохранена. Таблица "AllowedPresentationAndStateCodesLookup" - Невозможно создать отношение "FK_AllowedPresentationAndStateCodesLookup_SpeciesCodeLookup".
Оператор ALTER TABLE конфликтовал с ограничением FOREIGN KEY "FK_AllowedPresentationAndStateCodesLookup_SpeciesCodeLookup". Конфликт произошел в базе данных "FishTrackerPro", таблице "dbo.SpeciesCodeLookup", столбце "FAOCode".

Может ли кто-нибудь просветить меня относительно 1) почему возникает эта ошибка 2) есть ли способ (путем изменения той или иной таблицы, где может быть установлено такое отношение?

1 ответ

Решение

Кажется, вы получаете эту проблему, потому что ссылочная целостность не соблюдается. Т.е. таблица внешних ключей не должна иметь значений, которых нет в таблице первичных ключей.

Проверьте эти ссылки:

  1. Изменение таблицы конфликтует с ограничением внешнего ключа
  2. SQL конфликтует с ограничением FOREIGN KEY
Другие вопросы по тегам