#sql
Вопрос:
CREATE TABLE Infrastructure.OBSModules(
OBSId int FOREIGN KEY REFERENCES Infrastructure.OBS(Id) NOT NULL,
ModuleId int FOREIGN KEY REFERENCES Infrastructure.Module(Id) NOT NULL,
Constraint PK_Infrastructure_OBS_Module Primary Key(OBSId,ModuleId)
)
Go
Приведенный выше код-это мой код, с помощью которого я создал инфраструктуру.Таблица OBSType,но я удалил внешние ключи вручную, поэтому я не могу вставить какие-либо строки в свою таблицу.как я могу восстановить эти внешние ключи?
Комментарии:
1. Возможно, эти другие таблицы ошибочно имеют внешний ключ к этой таблице; сначала удалите эти внешние ключи. Когда таблица разлагает отношение M:M на два 1:M, сторона 1 не должна иметь внешнего ключа к стороне M
2. Примечание. Я говорю, возможно, потому, что вы на самом деле не опубликовали точное сообщение об ошибке, которое вы получаете, и это, вероятно, самая полезная информация, которую вы можете предоставить другому разработчику, когда просите его о помощи
3. Не удалось удалить инфраструктуру объекта. OBSModules», потому что на него ссылается ограничение ВНЕШНЕГО КЛЮЧА.
4. Я хочу удалить эту таблицу, не удаляя другие таблицы, в которых есть ссылки на эту таблицу
5. На какое ограничение FK он ссылается? В SSMS щелкните правой кнопкой мыши таблицу, выберите Просмотр зависимостей и опубликуйте снимок экрана