依存オブジェクトを持つテーブル列の削除
ALTER TABLE DROP COLUMN 構文を使用してテーブルから列を削除しようとすると、エラー:「メッセージ 4922、レベル 16、状態 9、行2nALTER TABLE DROP COLUMN 1 つ以上のオブジェクトがこの列にアクセスしているため、失敗しました。」このエラーは、削除しようとしている列が、外部キー制約やデフォルト値など、データベース内の他のオブジェクトによって参照されている場合に発生します。
解決策: 依存制約を削除します
列を正常に削除するには、まず列に依存する制約をすべて削除する必要があります。この場合、エラー メッセージは「DF__CompanyTr__Creat__0CDAE408」という名前のデフォルト制約を参照しています。この制約を削除するには、次の構文を使用します:
alter table CompanyTransactions drop constraint [df__CompanyTr__Creat__0cdae408];
依存制約が削除されたら、元のクエリを実行して列を削除できます:
alter table CompanyTransactions drop column [Created];
Code First Migrations
データベース スキーマの管理に Code First Migrations を使用している場合は、これ移行が同期していない場合、問題が発生する可能性があります。このような場合は、データベースが一貫した状態であることを確認するために、移行を再作成して再実行することをお勧めします。
以上がSQL Serverで依存オブジェクトを含むテーブル列を削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。