在MySQL 中,ON DELETE 行為決定了從父表中刪除記錄時,子表中的相關資料會發生什麼情況。預設情況下,MySQL 採用 NO ACTION 行為。
預設行為:NO ACTION
NO ACTION 和 RESTRICT 都可以防止違反外鍵約束的變更。當省略 ON DELETE 子句時,這些預設行為將會生效。它們透過防止刪除或修改引用資料來保持引用資料的完整性。
其他行為選項
SET NULL:
刪除父級行並將子表中的外鍵設為NULL(如果允許)。
CASCADE:
刪除引用已刪除父行的子行。
設定預設值:
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中文網其他相關文章!