MySQL 外键类型
RESTRICT
、NO ACTION
、CASCADE
、SET NULL
- 外键添加设计时,需要对
删除时
|更新时
选择外键类型
CASCADE
- 父表
update/delete
,子表也会update/delete
关联相关记录
RESTRICT
- 子表关联父表数据时,不能删除父表记录;应先删除子表关联记录,再删除父表记录。
- 子表关联父表数据时,不能修改父表主键;应先删除子表关联记录,再修改父表记录。
- 注意:父表其他字段可以修改。
NO ACTION
- 与
RESTRICT
一致,需要先删除子表关联字段,再update/delete
父表记录 - 注意:在
MySQL
中与RESTRICT
一样的,NO ACTION
来源标准的SQL
SET NULL
- 父表
update/delete
,子表会将关联字段的外键值置空 - 注意:设置外键字段是要设置可以为
null