在 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中文网其他相关文章!