navicat怎么添加外键

Navicat 添加外键的步骤: 1 . 连接到数据库,右键单击表并选择“设计表”。
2 . 单击“外键”选项卡打开设置窗口。
3 . 自定义外键名称,如fk_order_customer。
4 . 选择外键字段并引用数据库、表或字段。
5 . 配置CASCADE、SETNULL、RESTRICT等级联操作。
6 . 保存设置并查看外键关系。
注意:确保字段类型一致、主键或唯一键,并且您的表引擎支持外键。

数据库建表时怎么设置外键

粗略地说,设置外键可以分四步完成,但每一步都有陷阱。

展开一下,首先说最重要的一点:主表和子表对应的列类型必须完全相同。
去年我们启动一个电商项目时,由于varchar(2 0)改为varchar(3 0),导致无法直接连接,也没有这个入口。
还有一点:插入数据的时候需要注意顺序。
先填充主表,再填充子表。
去年我们启动一个3 000级的项目时,有5 0%的数据无法插入,因为主键不存在。
还有一个非常重要的细节。
级联是删除规则最安全的选择,但是要看业务场景。
例如,如果orders表链接到user表,那么如果用户删除了一个订单,那么它也必须被删除,所以选择级联;但如果用户删除订单后它仍然存在,则将其设置为 NULL。

一开始我以为选择“不执行任何操作”最安全,但后来发现不对劲。
例如,库存表链接到订单表。
如果删除订单,则必须减少库存。
如果不直接工作,这意味着数据不一致。
等等,还有一件事。
外键约束将被阻止。
高并发场景下要小心。
去年我们的系统因为没有配置外键约束而冻结了 3 个小时。

建议使用更多的数据来模拟现实生活中的场景,而不是仅仅看步骤。