Ошибка FOREIGN KEY SAME TABLE - но внешний ключ не существует
Я пытаюсь добавить ограничение внешнего ключа, который ссылается на ту же таблицу.
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_Documents_Parent]') AND parent_object_id = OBJECT_ID(N'[dbo].[Documents]'))
BEGIN
ALTER TABLE [dbo].[Documents] WITH CHECK ADD CONSTRAINT [FK_Documents_Parent] FOREIGN KEY(LinkedDocumentId)
REFERENCES [dbo].[Documents] ([Id])
END
ОтношенияFK_Documents_Parent
не существует.
Тем не менее, он выдает ошибку:
Оператор ALTER TABLE конфликтует с ограничением FOREIGN KEY SAME TABLE "FK_Documents_Parent". Конфликт произошел в базе данных "dev", таблице "dbo.Documents", столбце "Id".