Mysql外键级联操作

来源:互联网 发布:8月份经济数据评论 编辑:程序博客网 时间:2024/04/29 14:47
当mysql数据表设置了外键约束的时候,我们通常要遵循它的一些规则来操作。
如:
1、如果主表没有相关的记录,从表不能插入。
2、先插入主表数据后再插入从表数据。
3、删除时先删除从表记录再删除主表记录。

然而在更新的时候如果我们想更新主表时,同步更新从表。此时就需要用到级联操作了。
在删除或者更新的时候,我们可以通过设置不同的级联方式来方便我们进行约束和相应操作。

 . cascade方式(俗称联表)
在主表上更新或者删除记录时,从表也会执行相应操作 

 . set null方式
在主表上update/delete记录时,将从表上匹配记录的列设为null(即表示从表数据不指向主表任何记录)
要注意子表的外键列不能为not null  

 . No action方式
如果从表中有匹配的记录,则不允许对主表对应候选键进行update/delete操作  

 . Restrict方式
同no action, 都是立即检查外键约束(拒绝主表的相应操作)

 . Set default方式
主表有变更时,从表将外键列设置成一个默认的值 但Innodb不能识别
原创粉丝点击