mysql数据库中使用外键约束

为了演示,我新建了两个表,一个是部门表,一个是员工表

mysql数据库中使用外键约束

mysql数据库中使用外键约束

我们来看一下设置外键的时候

mysql数据库中使用外键约束

可以看到删除时,和更新时会产生什么效果

1.其中setnull是当被引用的表的记录删除时,会将我们的对应的字段设置为空

比如,我们将部门20001销售部删除时,我们的前两个员工因为部门是20001,所以这个时候,会将折两个员工的部门id设置为空

2.cascade

如果设置为cascade,那么当部门表更新,删除时,员工表对应的行也会更新和删除

3.no action

千万别理解为无操作,当我们设置为no action时,当子表user中有相应字段的记录时,不允许对父表相应的记录删除,不允许对相应的字段更新