ホームページ >データベース >mysql チュートリアル >外部キー参照アクションを ON DELETE CASCADE から ON DELETE RESTRICT に変更するにはどうすればよいですか?

外部キー参照アクションを ON DELETE CASCADE から ON DELETE RESTRICT に変更するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-30 19:38:14811ブラウズ

How to Change a Foreign Key Referential Action from ON DELETE CASCADE to ON DELETE RESTRICT?

外部キー参照アクションの変更

外部キー制約は、子テーブル内の行が参照されている場合は削除できないようにすることで、参照整合性を強制します。親テーブルの行ごとに。デフォルトでは、外部キー制約は ON DELETE CASCADE に設定されており、親行が削除されると子行も自動的に削除されます。

参照アクションを ON DELETE RESTRICT に変更する場合は、親の削除を防止します。行に子行が関連付けられている場合は、次の SQL コマンドを使用して行を削除できます。

ステップ 1: 行を削除します。既存の制約

ALTER TABLE table_name
DROP FOREIGN KEY constraint_name;

このコマンドは、既存の外部キー制約を削除しますが、外部キー列はそのまま残します。

ステップ 2: ON で新しい制約を追加します。 DELETE RESTRICT

ALTER TABLE table_name
ADD CONSTRAINT constraint_name
FOREIGN KEY (foreign_key_column) REFERENCES parent_table (parent_key) ON DELETE RESTRICT;

このコマンドは新しい外部オブジェクトを作成しますON DELETE RESTRICT を使用したキー制約により、関連する子行がある場合に親行が削除されるのを効果的に防止できます。

注: これらの変更を行う前に、テーブル データが目的のデータと一致していることを確認してください。参照アクション。

以上が外部キー参照アクションを ON DELETE CASCADE から ON DELETE RESTRICT に変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。