外键级联动作表示通过外键在父表(外键表)数据删除或更新时候,对子表(引用外键的表)的数据产生的影响。这个影响(动作)包括四种。
- RESTRICT
- NO ACTION
- CASCADE
- SET NULL
注:Mysql只有Innodb存储引擎才有外键约束,当你添加了外键而没有设置级联动作时,默认为on action(RESTRICT)
其中,NO ACTION 和RESTRICT 功能类似,是数据库会报错,不能进行更新或删除。
CASCADE,删除操作时候,会自动将子表的数据一同删除,更新时候(只是更新外键字段,其他非外键字段不会触发动作)会一同更新子表的外键字段。
SET NULL ,如字面意思,不管是删除或者更新此字段,子表都会变成NULL。