MySql数据库中外键删除时的四种方式

147 阅读1分钟

平时写到自己的项目,使用Navicat for mysql 先设计模型,看到外键删除和更新设置有四个选项如下图, 重新回顾一下这个四个删除方式,删除和更新有四种设置方式 。
image.png


CASCAD、SET NULL、NO ACTION、RESTRICT的的区别是:
  1. cascade:级联,当父表更新、删除,子表会同步更新和删除
  2. set null:置空,当父表更新、删除的时候,子表会把外键字段变为null,所以这个时候设计表的时候该字段要允许为null,否则会出错
  3. restrict:父表在删除和更新记录的时候,要在子表中检查是否有有关该父表要更新和删除的记录,如果有,则不允许删除个更改
  4. no action:和restrict一样