MySQL では、ON DELETE 動作により、親テーブルからレコードが削除されたときに子テーブル内の関連データに何が起こるかが決まります。 。デフォルトでは、MySQL は NO ACTION 動作を採用します。
デフォルトの動作: NO ACTION
NO ACTION と RESTRICT は両方とも、外部キー制約に違反する変更を防ぎます。 ON DELETE 句を省略すると、これらのデフォルトの動作が有効になります。参照データの削除または変更を防止することで、参照データの整合性を維持します。
その他の動作オプション
SET NULL:
親を削除します。
CASCADE:
削除された親行を参照する子行を削除します。
SET DEFAULT:
このオプションは InnoDB ではサポートされていません。パーサーによって認識されましたが、テーブル定義時に拒否されました。
概要
次の表は、MySQL で使用できる ON DELETE 動作をまとめたものです。
Behavior | Description |
---|---|
NO ACTION | Prevents deletion or update of parent rows |
RESTRICT | Same as NO ACTION |
SET NULL | Sets foreign key to NULL when parent row is deleted |
CASCADE | Deletes child rows when parent row is deleted |
以上がMySQL で親行が削除されると、関連データはどうなりますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。