动作 | 描述 |
CASCADE | 在父表上update/delete记录时,同步update/delete掉子表的匹配记录 |
SET NULL | 在父表上update/delete记录时,将子表上匹配记录的列设为null (要注意子表的外键列不能为not null) |
NO ACTION | 如果子表中有匹配的记录,则不允许对父表对应候选键进行update/delete操作 |
RESTRICT | 同no action, 都是立即检查外键约束 |
案例:
NULL、RESTRICT、NO ACTION
删除:从表记录不存在时,主表才可以删除。删除从表,主表不变
更新:从表记录不存在时,主表才可以更新。更新从表,主表不变
CASCADE
删除:删除主表时自动删除从表。删除从表,主表不变
更新:更新主表时自动更新从表。更新从表,主表不变
SET NULL
删除:删除主表时自动更新从表值为NULL。删除从表,主表不变
更新:更新主表时自动更新从表值为NULL。更新从表,主表不变