Mysql 外键约束 on delete跟on update

Mysql 外键约束 on delete和on update
Mysql 下,外键设置:

on delete rule:
1、RESTRICT:约束
    如果存在从数据,不允许删除主数据。
2、NO ACTION
    如果存在从数据,不允许删除主数据。
3、CASCADE:级联
    删除主数据,顺便也删掉从数据。
4、SET NULL
    删除主数据,从数据外键的值设为NULL。

on update rule:
1、RESTRICT:约束
    修改主数据中被关联的Field,如果有该主数据有从数据,不允许修改。
2、NO ACTION
    修改主数据中被关联的Field,如果有该主数据有从数据,不允许修改。
3、CASCADE
    修改主数据中被关联的Field,如果有该主数据有从数据,顺便一起修改从数据的外键值。
4、SET NULL
    修改主数据中被关联的Field,如果有该主数据有从数据,从数据的外键值设为NULL。


NO ACTION和RESTRICT的区别:只有在及个别的情况下会导致区别,前者是在其他约束的动作之后执行,后者具有最高的优先权执行。