選択した値を挿入できるように、別のテーブルから外部キーを削除したい。
私はデータベースが初めてなので、外部キー値を削除または削除するための正しいSQLクエリを教えてください。
選択した値を挿入できるように、別のテーブルから外部キーを削除したい。
私はデータベースが初めてなので、外部キー値を削除または削除するための正しいSQLクエリを教えてください。
フォローしてみてください
ALTER TABLE <TABLE_NAME> DROP CONSTRAINT <FOREIGN_KEY_NAME>
DB からすべての制約を削除するには:
SELECT 'ALTER TABLE ' + Table_Name +' DROP CONSTRAINT ' + Constraint_Name
FROM Information_Schema.CONSTRAINT_TABLE_USAGE
ALTER TABLE [TableName] DROP CONSTRAINT [CONSTRAINT_NAME]
しかし、気をつけてください。一度そうすると、チャンスが二度と得られない可能性があります。基本的なデータベースの本を読んで、外部キーが必要な理由を確認してください。
完全に削除する前に、制約を (一時的に) 無効にすることを検討する必要があります。
テーブル作成 TSQL を見ると、次のように表示されます。
ALTER TABLE [dbo].[dbAccounting] CHECK CONSTRAINT [FK_some_FK_constraint]
実行できます
ALTER TABLE [dbo].[dbAccounting] NOCHECK CONSTRAINT [FK_some_FK_constraint]
CHECK
...次に、制約に違反する一連の値を挿入/更新し、元のステートメントを実行してオンに戻します。
(過去に継承した設計の悪いシステムをクリーンアップするために、これを行う必要がありました。)
または、SQL Server Management Studio 自体から外部キー制約を削除することもできます。コマンドが機能しない場合は、試すことができます。
それが役立つことを願っています
ALTER TABLE table
DROP FOREIGN KEY fk_key
編集:あなたがSQLサーバーを使用していることに気づきませんでした、私の悪い
ALTER TABLE table
DROP CONSTRAINT fk_key
alter table <referenced_table_name> drop primary key;
外部キー制約は削除されます。