ホームページ > データベース > mysql チュートリアル > SQL の既存の外部キー制約に「ON DELETE CASCADE」を追加するにはどうすればよいですか?

SQL の既存の外部キー制約に「ON DELETE CASCADE」を追加するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-17 10:26:25
オリジナル
106 人が閲覧しました

How Can I Add

SQL での制約の変更

SQL では、制約はデータの整合性を維持し、テーブル内のデータの一貫性を確保する上で重要な役割を果たします。一般的なタスクの 1 つは、既存の制約を変更してプロパティを追加または変更することです。この記事では、制約を変更する手順を説明します。特に、既存の外部キー制約に「ON DELETE CASCADE」句を追加する方法に焦点を当てます。

元の制約:

という名前の既存の外部キー制約があるとします。 ACTIVEPROG_FKEY1:

CONSTRAINT ACTIVEPROG_FKEY1 FOREIGN KEY(ActiveProgCode) REFERENCES PROGRAM(ActiveProgCode),
ログイン後にコピー

制約の変更:

既存の制約に「ON DELETE CASCADE」句を追加したいと考えています。この句は、レコードが親テーブル (PROGRAM) から削除された場合、子テーブル (ACTIVEPROG) 内の対応するレコードも自動的に削除されることを指定します。

制約を変更する手順:

ただし、他のデータベース オブジェクトとは異なり、制約は直接の変更をサポートしません。代わりに、既存の制約を削除し、必要な変更を加えて再作成する必要があります:

  1. 既存の制約を削除:

    ALTER TABLE your_table DROP CONSTRAINT ACTIVEPROG_FKEY1;
    ログイン後にコピー
  2. 「ON DELETE」で制約を再作成しますCASCADE":

    ALTER TABLE your_table
    ADD CONSTRAINT ACTIVEPROG_FKEY1 FOREIGN KEY(ActiveProgCode) REFERENCES PROGRAM(ActiveProgCode)
    ON DELETE CASCADE;
    ログイン後にコピー

次の手順に従うと、既存の制約 ACTIVEPROG_FKEY1 を変更して "ON DELETE CASCADE" 句を追加できます。これにより、親テーブルの削除により、子テーブルの関連レコードのカスケード削除が自動的にトリガーされます。

以上がSQL の既存の外部キー制約に「ON DELETE CASCADE」を追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート