Я унаследовал старую базу данных, которая была не очень хорошо спроектирована. Это база данных Sql Server 2008, в которой отсутствует довольно много отношений внешнего ключа. Ниже показаны две таблицы, и я пытаюсь вручную создать отношение FK между dbo.app_status.status_id и dbo.app_additional_info.application_id
Я использую SQL Server Management Studio, когда пытаюсь создать отношения, используя запрос ниже
USE myDatabase;
GO ALTER TABLE dbo.app_additional_info
ADD CONSTRAINT FK_AddInfo_AppStatus FOREIGN KEY (application_id)
REFERENCES dbo.app_status (status_id)
ON DELETE CASCADE
ON UPDATE CASCADE ;
GO
Однако я получаю эту ошибку, когда запускаю запрос
Оператор ALTER TABLE конфликтует с ограничением FOREIGN KEY «FK_AddInfo_AppStatus». Конфликт произошел в базе данных «myDatabase», таблица «dbo.app_status», столбец «status_id».
Мне интересно, не выполняется ли запрос, потому что каждая таблица уже содержит приблизительно 130 000 записей?
Проблема заключалась в том, что в дочерней таблице были записи, у которых нет соответствующего идентификатора в родительской таблице.