(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の
1つ以上のオブジェクトがこの列にアクセスするため、ALTER TABLE DROP COLUMN CountryIDが失敗しました
私はこれを試しましたが、うまくいかないようです:
alter table company drop foreign key Company_CountryID_FK;
alter table company drop column CountryID;
CountryID
カラムを落とすには何が必要ですか?
ありがとう。
2
外部キーを削除しようとすると、どのエラーが発生しますか?
—
ddc0660 2008
そもそもなぜそこにあるのかを知らずに外部キー制約を削除するのは危険であることに注意してください。これを作成して誤って作成した場合は、他の回答で提供されているコードを使用してください。そうでない場合は、それによって他の何かを壊さないことが確実になるまで、制約を削除しないでください。制約は、ビジネスルールを適用するために作成されます。制約を削除する前に、不要であることを確認することをお勧めします。
—
HLGEM 2008
FKを削除するための構文には、「外部キー」という単語は必要ありません。これは、SQL Serverではなく、MySQLの構文です。「制約」という単語に置き換えることができます。
—
John Gilmer