Skip to main content

This documentation is for an older version of this product. See the latest version of this content.Opens in a new tab

OnDelete (外部キーのキーワード)

外部テーブルで削除されたレコードが現在のテーブルのレコードで参照されている場合に、現在のテーブルで外部キーが実行するアクションを指定します。

使用法

外部テーブルの参照されているレコードが削除されたときに、現在のテーブルで実行するアクションを指定するには、以下の構文を使用します。

ForeignKey keyname(key_props) References pkg.class(ref_index) [ OnDelete = ondelete ];

ondelete は以下のいずれかになります。

  • noaction (既定値) — 外部テーブルの参照されているレコードの削除を試みた場合、失敗します。

  • cascade — 外部テーブルの参照されているレコードを削除した場合、そのテーブル内の参照元レコードも削除されます。

  • setdefault — 外部テーブルの参照されているレコードを削除した場合、参照元レコードの外部テーブルへの参照はその既定値に設定されます。

  • setnull — 外部テーブルの参照されているレコードを削除した場合、参照元レコードの外部テーブルへの参照は NULL に設定されます。

説明

外部テーブル内の行を削除する場合、その外部テーブルに外部キー制約が設定されているすべての参照元テーブルで、削除する行を参照している行があるかどうかがチェックされます。このような参照が見つかった場合、OnDelete アクションは有効になります。

既定値

既定値は noaction です。

関連項目

FeedbackOpens in a new tab