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

ON DELETE CASCADE の追加など、既存の SQL 制約を変更するにはどうすればよいですか?

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

How Can I Modify Existing SQL Constraints, Such as Adding ON DELETE CASCADE?

制約の変更

SQL データベース内の既存の制約を更新する必要がある場合があります。このようなシナリオの 1 つは、既存の外部キー制約に ON DELETE CASCADE 句を追加することです。この句により、親テーブルから行が削除されると、子テーブル内の対応する行も自動的に削除されます。

制約の変更

概念に反して制約は変更できませんが、実際には、既存の制約を削除し、必要な変更を加えて再作成することで制約を変更できます。このプロセスを説明するために、ACTIVEPROG テーブルの制約 ACTIVEPROG_FKEY1 を考えてみましょう。

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

この制約に ON DELETE CASCADE 句を追加するには、次の手順に従います。

  1. 既存のものを削除する制約:

    ALTER TABLE ACTIVEPROG DROP CONSTRAINT ACTIVEPROG_FKEY1;
    ログイン後にコピー
  2. 必要な変更を加えて制約を再作成します:

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

これらの手順に従って、ON DELETE を含むように制約が正常に変更されました。 CASCADE 句。PROGRAM テーブルからレコードが削除されると、ACTIVEPROG テーブル内の対応するレコードも自動的に削除されます。

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

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