Я создал внешний ключ (в SQL Server) с помощью:
alter table company add CountryID varchar(3);
alter table company add constraint Company_CountryID_FK foreign key(CountryID)
references Country;
Затем я запускаю этот запрос:
alter table company drop column CountryID;
и я получаю эту ошибку:
Сообщение 5074, уровень 16, состояние 4, строка 2
Объект «Company_CountryID_FK» зависит от столбца «CountryID».
Сообщение 4922, уровень 16, состояние 9, строка 2:
ошибка ALTER TABLE DROP COLUMN CountryID, так как один или несколько объектов имеют доступ к этому столбцу
Я попробовал это, но это, похоже, не работает:
alter table company drop foreign key Company_CountryID_FK;
alter table company drop column CountryID;
Что мне нужно сделать, чтобы опустить CountryID
столбец?
Спасибо.
sql-server
tsql
mmattax
источник
источник
Ответы:
Пытаться
источник
Это будет работать:
источник
Я думаю, что это будет полезно для вас ...
Он удалит ограничение внешнего ключа на основе конкретной таблицы и столбца.
источник
Сначала проверьте наличие ограничения, затем отбросьте его.
источник
источник
Я не знаю MSSQL, но не будет ли это:
источник
Вы также можете щелкнуть правой кнопкой мыши по таблице, выбрать изменить, затем перейти к атрибуту, щелкнуть правой кнопкой мыши по нему и выбрать опускать первичный ключ.
источник
Вы пытаетесь удалить ограничение FK или сам столбец?
Чтобы снять ограничение:
Вы не сможете удалить столбец, пока не удалите ограничение.
источник