Navicat设置表的外键

15 阅读1分钟

最近设计数据库表也是遇到这个问题,话不多说,直接上操作。

这里我们使用三个表,Users,Notes,Settings三个表如下图

image.png 设置完成后,如图所示 image.png

步骤

1.名字可以不用写,自动生成就好。
需要找到要设置成外键的字段,我这里先设置user_id这个外键字段,选中user_id image.png

2.参考数据库,你的表在哪个数据库就选哪个数据库

image.png

3.参考表的选择,就是现在所选的外键字段在哪个表是主键的那个表,外键user_id是Users表的主键

image.png

4.参考字段就是参考表的主键,即外键在参考表的字段名。

image.png

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。

image.png

image.png

最后,我们成功完成外键的设置了。