SQL では、制約はデータの整合性を維持し、テーブル内のデータの一貫性を確保する上で重要な役割を果たします。一般的なタスクの 1 つは、既存の制約を変更してプロパティを追加または変更することです。この記事では、制約を変更する手順を説明します。特に、既存の外部キー制約に「ON DELETE CASCADE」句を追加する方法に焦点を当てます。
元の制約:
という名前の既存の外部キー制約があるとします。 ACTIVEPROG_FKEY1:
CONSTRAINT ACTIVEPROG_FKEY1 FOREIGN KEY(ActiveProgCode) REFERENCES PROGRAM(ActiveProgCode),
制約の変更:
既存の制約に「ON DELETE CASCADE」句を追加したいと考えています。この句は、レコードが親テーブル (PROGRAM) から削除された場合、子テーブル (ACTIVEPROG) 内の対応するレコードも自動的に削除されることを指定します。
制約を変更する手順:
ただし、他のデータベース オブジェクトとは異なり、制約は直接の変更をサポートしません。代わりに、既存の制約を削除し、必要な変更を加えて再作成する必要があります:
既存の制約を削除:
ALTER TABLE your_table DROP CONSTRAINT ACTIVEPROG_FKEY1;
「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 サイトの他の関連記事を参照してください。