Navicat如何设置外键和为空

简介: Navicat如何设置外键和为空

设置外键


创建外键约束的目的是保持数据一致性,完整性,以及实现一对一或一对多关系


打开Navicat

1.png


打开数据库选择表 ,然后右键点击设计表

image.png


进入表设计页面

65390ee8072c454a8f15e342a592b709.png


点击外键按钮进入

65390ee8072c454a8f15e342a592b709.pnga3ff2aa190484193801f180518c55fe7.png


删除时:删除时候选择的动作(这里选择CASCADE


刷新时:更新时候选择的动作(这里选择CASCADE

CASCADE ---就是当关联的表更新后, food中的food_id也随着更新。


以上字段也可以按照自己的需求填写,设置完成后保存即可。

某个表已经有记录了,添加外键失败,这时候只需要将两个要关联的表中的数据清空再从新添加外键关系即可

可能会出现的错误:

ERROR: 1822 — Failed to add the foreign key constraint. Missing index for constraint ‘XXXX’ in the referenced table ‘XXXX

MySQL报这个错时去检查外键设置!!!这个外键是不是另外一个表的主键

设置外键的时候需要注意以下几点:


(1)外键是用于两个表的数据之间建立连接,可以是一列或者多列,即一个表可以有一个或多个外键。

(2)这个表里面设置的外键必须是另外一个表的主键

(3)外键可以不是这个表的主键,但必须和另外一个表的主键相对应(字段的类型和值必须一样)。

(4)带有主键的那张表称为父表,含外键的是子表,必须先删除外键约束才能删除父表。

(5)外键要存在,父表和子表必须使用相同的存储引擎,而且禁止使用临时表,所以必须保证表的引擎是 InnoDB(默认的存储引擎),如果不是 InnoDB 存储引擎,那么外键可以创建成功,但没有约束作用;

(6)每张表中的外键名称不能重复;

(7)如果外键约束模式选择SET NULL ,那么字段必须允许为NULL,否则出现Cannot add foreign key constraint。

(8)外键列和参照列必须建立索引。如果外键列不存在索引的话,MYSQL将自动创建索引。如果参照列不存在索引的话,MySQL不会自动创建索引(FOREGIN KEY 关键字的列称为外键列 外键列所参照的列称为参照列)


设置为空

65390ee8072c454a8f15e342a592b709.pnga3ff2aa190484193801f180518c55fe7.png

答:

所以是是不打钩的,否是打钩的   不选就为空



目录
打赏
0
0
0
0
11
分享
相关文章
Idea使用Mybatis Generator 自动生成代码
(1)创建一个maven工程 (2)配置pom文件 mysql mysql-connector-java 5.
3096 0
2021年 最新 多阶段构建dockerfile实现java源码编译打jar包并做成镜像
多阶段构建指在Dockerfile中使用多个FROM语句,每个FROM指令都可以使用不同的基础镜像,并且是一个独立的子构建阶段。使用多阶段构建打包Java应用具有构建安全、构建速度快、镜像文件体积小等优点.
1616 0
2021年 最新 多阶段构建dockerfile实现java源码编译打jar包并做成镜像
基于区块链的数字身份认证:重塑身份安全的新范式
基于区块链的数字身份认证:重塑身份安全的新范式
805 16
优化销售预测:6种模型适用的场景与实战案例
不同行业的销售预测采用什么模型比较好?3分钟了解6种销售预测模型,以及适用行业场景。
596 2
优化销售预测:6种模型适用的场景与实战案例
pg下delete数据后。除了使用VACUUM FULL TABLE 才能释放磁盘空间外的方法。
【8月更文挑战第12天】pg下delete数据后。除了使用VACUUM FULL TABLE 才能释放磁盘空间外的方法。
569 1
手把手搭建一个完整的javaweb项目(适合新手)
手把手搭建一个完整的javaweb项目(适合新手)
306 1
MySQL外键约束详解
在数据库设计和管理中,外键约束是一项重要的功能,它用于维护表与表之间的关联关系,保证数据的完整性和一致性。本文将详细介绍MySQL外键约束的概念、用法以及一些最佳实践,以帮助您更好地理解和应用外键约束。
1866 2
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问