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

答:

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



相关文章
|
人工智能 自然语言处理 API
图片转音乐模型来了!Image to Music V2 :只需上传一张照片,自动转换成与图片内容匹配的音频!
图片转音乐模型来了!Image to Music V2 :只需上传一张照片,自动转换成与图片内容匹配的音频!
1397 1
|
Prometheus 监控 Kubernetes
阿里云容器服务GPU监控2.0基础篇2:监控NVLINK带宽
本系列相关文章:阿里云容器服务GPU监控2.0基础篇1:基本功能使用阿里云容器服务GPU监控2.0基础篇2:监控NVLINK带宽阿里云容器服务GPU监控2.0基础篇3:监控NVIDIA XID错误阿里云容器服务GPU监控2.0进阶篇1:剖析(Profiling)GPU使用情况必备知识阿里云容器服务GPU监控2.0进阶篇2:学会剖析(Profiling)GPU使用情况容器服务GPU监控2.0提供了监
2208 0
阿里云容器服务GPU监控2.0基础篇2:监控NVLINK带宽
|
存储 安全 .NET
ASP.NET Core Identity 实战(2)——注册、登录、Claim
上一篇文章(ASP.NET Core Identity Hands On(1)——Identity 初次体验)中,我们初识了Identity,并且详细分析了AspNetUsers用户存储表,这篇我们将一起学习Identity 默认生成的样板代码的注册与登陆过程 注册/Register 打开Accou...
2796 0
|
8月前
|
机器学习/深度学习 搜索推荐 算法
基于大数据的电影点评与推荐
本系统基于大数据与人工智能技术,构建电影点评与推荐平台,提供个性化电影推荐、用户点评及社交互动功能。通过分析用户行为与电影属性,优化推荐算法,提升用户体验与满意度,促进电影产业发展与市场活跃。
基于大数据的电影点评与推荐
|
算法 NoSQL 中间件
go语言后端开发学习(六) ——基于雪花算法生成用户ID
本文介绍了分布式ID生成中的Snowflake(雪花)算法。为解决用户ID安全性与唯一性问题,Snowflake算法生成的ID具备全局唯一性、递增性、高可用性和高性能性等特点。64位ID由符号位(固定为0)、41位时间戳、10位标识位(含数据中心与机器ID)及12位序列号组成。面对ID重复风险,可通过预分配、动态或统一分配标识位解决。Go语言实现示例展示了如何使用第三方包`sonyflake`生成ID,确保不同节点产生的ID始终唯一。
717 0
go语言后端开发学习(六) ——基于雪花算法生成用户ID
|
缓存 Java API
API接口性能优化管理
在数字化时代,API性能优化对于提升软件效率和用户体验至关重要。本文介绍了多种优化方法:配置优化包括调整JVM参数等;代码层面减少重复调用并批量操作数据库;池化技术如线程池和HTTP连接池能有效利用资源;数据库优化通过索引提高查询速度;异步处理则使主流程业务不受阻塞;缓存策略如Redis缓存减少数据库访问;可观测性工具如日志平台和APM帮助监控性能。综合运用这些方法,可根据业务需求持续调整优化,显著提升API性能及用户体验。
|
SQL 数据库 Python
sqlmap的安装及使用教程_sqlmap安装使用教程
sqlmap的安装及使用教程_sqlmap安装使用教程
|
弹性计算
阿里云ECS服务器出网带宽和入网带宽详解及选择
阿里云ECS服务器的带宽是我们自己花钱买的,也叫出网带宽,就是从服务器流出去的带宽。有出就有入,入网带宽说的是从外部流入到服务器的带宽。对于新手不太了解一出一入的关系,以及具体使用情况。本文科普ECS云服务器出网带宽和入网带宽的详细情况。
5711 0
阿里云ECS服务器出网带宽和入网带宽详解及选择
|
存储 分布式计算 资源调度
在kubernetes上运行apache spark:最佳实践和陷阱
阿里云高级技术专家范振为大家带来在kubernetes上运行apache spark的介绍。内容包括Data Mechanic平台介绍,Spark on k8s,以及EMR团队云原生的思考和实践。以下由Spark+AI Summit中文精华版峰会的精彩内容整理。
4713 0
在kubernetes上运行apache spark:最佳实践和陷阱
下一篇
开通oss服务