MySQLでのCASCADEの使用方法は何ですか?
MySQLにおいて、CASCADEは外部キー制約のオプションであり、親テーブルの行が更新または削除された際に、関連する子テーブルの行がどのように処理されるかを指定するために使用されます。CASCADEを使用すると、親テーブルの行が更新または削除されると、子テーブルの関連行も更新または削除されます。
CASCADEの方法は次のようになります:
- 外部キー制約を作成する際には、CASCADEオプションを使用して処理アクションを指定します。たとえば、親テーブルの行が更新されると、関連する子テーブルの行も更新されるように、外部キー制約を作成する際には、UPDATE時にCASCADEオプションを使用します。同様に、親テーブルの行が削除されると、関連する子テーブルの行も削除されるように、DELETE時にCASCADEオプションを使用します。
例:
CREATE TABLE parent (
id INT PRIMARY KEY
);
CREATE TABLE child (
id INT PRIMARY KEY,
parent_id INT,
FOREIGN KEY (parent_id) REFERENCES parent(id) ON DELETE CASCADE
);
- 既存の外部キー制約にALTER TABLE文を使用して処理アクションを変更することもできます。例えば、ALTER TABLE文を使用して外部キー制約の処理アクションをCASCADEに変更することができます。
例えば、
ALTER TABLE child DROP FOREIGN KEY fk_parent_id;
ALTER TABLE child ADD FOREIGN KEY (parent_id) REFERENCES parent(id) ON DELETE CASCADE;
上記の方法を使用して、MySQLでのCASCADEを使用して、外部キー制約の処理アクションを定義し、親テーブルと子テーブルの関連を実現できます。