CASCADE将在父项更改时传播更改。(如果删除行,则约束表中引用该行的行也将被删除,等等。)
SET NULL当父行消失时,将列值设置为NULL。
RESTRICT导致尝试删除父行失败。
编辑:您没有询问它们,但是SQL标准定义了另外两个操作:
SET DEFAULT和
NO ACTION。在MySQL中,
NOACTION等效于
RESTRICT。(在某些DBMS中,这
NOACTION是一个延迟检查,但是在MySQL中,所有检查都是立即执行的。)MySQL解析器接受
SETDEFAULT,但是InnoDB和NDB引擎均拒绝这些语句,因此
SET DEFAULT实际上不能用于
ON UPDATEor或
ONDELETE约束。
另外,请注意,级联外键操作不会激活MySQL中的触发器。



