Navicat设置表的外键

使用navicat设置外键

这里我使用的是三个表,userInfo,role,userRole是中间表结构如下图
在这里插入图片描述
crtl+d如下图
在这里插入图片描述

步骤

1.名字可以不用写,自动生成最好。
需要找到要设置成外键的字段,我这里先设置uid这个外键字段,选中uid
在这里插入图片描述
2.参考数据库,你的表在哪个数据库就选哪个数据库
在这里插入图片描述
3.参考表的选择,就是现在所选的外键字段在哪个表是主键的那个表,外键uid是userInfo表的主键
在这里插入图片描述
4.参考字段就是参考表的主键,即外键在参考表的字段命。
在这里插入图片描述
5.外键更新删除设置,在这里拓展一些知识,首先明确一个概念

假如表A(id,name,foreifn_id),表B(foreign_id,name),我们说表A参考了表B的主键作为其外键使用,所以B表示父表,A表是子表。删除和更新有四种设置方式。

  • cascade:级联,当父表更新、删除,子表会同步更新和删除。
  • set null:置空,当父表更新、删除的时候,子表会把外键字段变为null,所以这个时候设计表的时候该字段要允许为null,否则会出错。
  • restrict:父表在删除和更新记录的时候,要在子表中检查是否有有关该父表要更新和删除的记录,如果有,则不允许删除更改。
  • no action:和restrict一样。
  • 什么也不选:什么也不选就会默认选择no action。
空、RESTRICT、NO ACTION删除:从表记录不存在时,主表才可以删除,删除从表,主表不变。
更新:从表记录不存在时,主表菜可以更新,更新从表,主表不变。
CASCADE删除:删除主表时自动删除从表。删除从表,主表不变。
更新:更新主表时自动更新从表。更新从表,主表不变。
SET NULL删除:删除主表时自动更新从表为NULL,删除从表,主表不变。
更新:更新主表时自动更新从表值为NULL。更新从表,主表不变。

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值