MySQL添加外键约束经典案例
1DDL建表语句
需要一个emp员工表和一个dept部门表
CREATE TABLE `emp` (`id` int NOT NULL AUTO_INCREMENT,`name` varchar(50) COLLATE utf8mb4_0900_as_ci NOT NULL COMMENT '姓名',`age` int DEFAULT NULL COMMENT '年龄',`job` varchar(20) COLLATE utf8mb4_0900_as_ci DEFAULT NULL COMMENT '职位',`salary` int DEFAULT NULL COMMENT '薪资',`entrydate` date DEFAULT NULL COMMENT '入职时间',`managerid` int DEFAULT NULL COMMENT '直属领导ID',`dept_id` int NOT NULL COMMENT '部门ID',PRIMARY KEY (`id`),KEY `fk_emp_dept_id` (`dept_id`),CONSTRAINT `fk_emp_dept_id` FOREIGN KEY (`dept_id`) REFERENCES `dept` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_as_ci;
CREATE TABLE `dept` (`id` int NOT NULL AUTO_INCREMENT,`name` varchar(50) COLLATE utf8mb4_0900_as_ci NOT NULL COMMENT '部门名称',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_as_ci;
2随便插入五条数据以便于建立外键关联
3使用外键基础公式建立外键即可
alter table emp add constraint fk_emp_dept_id foreign key (dept_id) references dept(id);
#添加外键的语句公式
alter table 表名 add constraint fk_子表表名_子表中的字段名 foreign key(子表中的字段名) references 父表(字段);
4删除外键
alter table emp drop foreign key fk_emp_dept_id;
相关文章:
MySQL添加外键约束经典案例
1DDL建表语句 需要一个emp员工表和一个dept部门表 CREATE TABLE emp (id int NOT NULL AUTO_INCREMENT,name varchar(50) COLLATE utf8mb4_0900_as_ci NOT NULL COMMENT 姓名,age int DEFAULT NULL COMMENT 年龄,job varchar(20) COLLATE utf8mb4_0900_as_ci DEFAULT NULL CO…...
vue3监听器watch以及watchEffect的使用
一,watch()简介: 侦听一个或多个响应式数据源,并在数据源变化时调用所给的回调函数 watch()默认是懒侦听的,即仅在侦听源发生变化时才执行回调函数。 watch()一共有三个参数 第一个参数:侦听器的源,可以为以…...
modelsim做后仿真的一点思路
这是以TD_5.6.3_Release_88061生成的网表文件(其他工具生成的网表文件类似),与modelsim联合进行门级仿真的样例,时序仿真与门级仿真的方法类似,只是增加了标准延时文件。 1、建立门级仿真工程 将门级网表和testbench添…...
如何获取特定 HIVE 库的元数据信息如其所有分区表和所有分区
如何获取特定 HIVE 库的元数据信息如其所有分区表和所有分区 1. 问题背景 有时我们需要获取特定 HIVE 库下所有分区表,或者所有分区表的所有分区,以便执行进一步的操作,比如通过 使用 HIVE 命令 MSCK REPAIR TABLE table_name sync partiti…...
如何在 qmake(QtCreator)中指定 Mac 平台
在 Qt 项目文件(.pro 文件)中设置针对 Mac OS 的配置项。通常情况下,我们可以使用如下方式为 Windows 和 Unix 系统分别添加源文件: win32 {SOURCES += hellowin.cpp } unix {SOURCES += hellounix.cpp }虽然 Mac OS 是类 Unix 系统,但有时我们仍然需要区分它和 Linux 系…...
day39动态规划part02| 62.不同路径 63. 不同路径 II 343. 整数拆分 (可跳过)96..不同的二叉搜索树 (可跳过)
**62.不同路径 ** 本题大家掌握动态规划的方法就可以。 数论方法 有点非主流,很难想到。 题目讲解 | 视频讲解 class Solution { public:int uniquePaths(int m, int n) {// 确定数组及其下标的含义int dp[101][101] {0}; //到达i,j的点有多少条路径// 确定递推…...
声场合成新方法:基于声波传播的框架
声场合成是指在房间内的麦克风阵列上,根据来自房间内其他位置的声源信号,合成每个麦克风的音频信号。它是评估语音/音频通信设备性能指标的关键任务,因为它是一种成本效益高的方法,用于数据生成以替代真实的数据收集,后…...
鸿蒙文件操作事前准备
13900001,沙箱13900002 首选授权 module授权配置 "requestPermissions": [{ "name": "ohos.permission.CAMERA",}, { "name": "ohos.permission.READ_MEDIA",}, { "name": "ohos.permission.WR…...
AI智能时代:ChatGPT如何在金融市场发挥策略分析与预测能力?
文章目录 一、ChatGPT在金融策略制定中的深度应用客户需求分析与定制化策略市场动态跟踪与策略调整策略分析与优化 二、ChatGPT在算法交易中的深度应用自动交易策略制定交易执行与监控风险管理 三、未来展望《智能量化:ChatGPT在金融策略与算法交易中的实践》亮点内…...
C#面:C#属性能在接口中声明吗?
在C#中,接口是一种定义了一组方法、属性和事件的类型。在接口中,只能声明方法、属性和事件的签名,而不能包含字段、构造函数或实现代码。因此,C#属性不能直接在接口中声明。 然而,你可以在接口中定义属性的签名&#…...
区块链的历史和发展:从比特币到以太坊
想象一下,你住在一个小镇上,每个人都有一个大账本,记录着所有的交易。这个账本很神奇,每当有人买卖东西,大家都会在自己的账本上记一笔,确保每个人的账本都是一致的。这就是区块链的基本思想。而区块链的故…...
input()函数——输入
自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 语法参考 input()函数可以提示并接收用户的输入,将所有的输入按照字符串进行处理,并返回一个字符串,input()函数的…...
CST 时间格式减去八小时
问题: 查看服务器时间是正确的,但输出出来的时间,比此时多出来八个小时。这里直接把时间减去八个小时。 public static void main(String[] args) throws ParseException {// 设定原始时间格式try {SimpleDateFormat dateFormat new SimpleDateFormat(&…...
植物大战僵尸杂交版技巧大全(附下载攻略)
《植物大战僵尸杂交版》为策略游戏爱好者带来了全新的挑战和乐趣。如果你是新手玩家,可能会对游戏中的植物和僵尸感到困惑。以下是一些实用的技巧,帮助你快速掌握游戏并享受其中的乐趣。 技巧一:熟悉基本玩法 游戏的基本玩法与原版相似&…...
HTTPS 代理的优点和缺点是什么?
HTTPS代理的优点包括提供更好的安全性、支持验证、速度、匿名性、节省带宽。 安全性:HTTPS代理通过使用SSL/TLS协议对传输的数据进行加密,保护用户的数据传输安全,防止中间人攻击和窃听,确保数据的安全性。 速度:HTTPS…...
Mac安装多版本node
Mac下使用n模块去安装多个指定版本的Node.js,并使用命令随时切换。 node中的n模块是,node专门用来管理node版本的模块,可以进行node版本的切换,下载,安装。 1.安装n npm install -g n 2.查看版本 n --version 3.展…...
HTML静态网页成品作业(HTML+CSS)——动漫猪猪侠网页(4个页面)
🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有4个页面。 二、作品演示 三、代…...
【机器学习300问】125、什么是双向循环神经网络(BRNN)?什么是深度循环神经网络(DRNN)?
一、双向循环神经网络 (1)诞生背景 双向循环神经网络(Bidirectional Recurrenct Neural Network, BRNN)是在深度学习领域发展起来的一种特殊类型的循环神经网络(RNN),它诞生的背景是为了解决传…...
办公软件汇总
1、OCR 1.1 pearOCR pearOCR 是一个免费的免费在线文字提取OCR工具网站。PearOCR界面简洁,所有过程均在网页端完成,无需下载任何软件,点开即用。官方地址:https://pearocr.com/ 参考:9款文字识别(OCR)工具…...
Docker 搭建 MinIO 对象存储
Docker 搭建 MinIO 对象存储 一、MinIO MinIO 是一个高性能的对象存储服务器,用于构建云存储解决方案。MinIO 允许你存储非结构化数据(如图片、视频、日志文件等)以对象的形式。MinIO 提供简单的部署选项和易于使用的界面,允许你…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...
【JavaEE】-- HTTP
1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...
Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...
边缘计算医疗风险自查APP开发方案
核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...
转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...
【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分
一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计,提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合:各模块职责清晰,便于独立开发…...
如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...
在 Spring Boot 项目里,MYSQL中json类型字段使用
前言: 因为程序特殊需求导致,需要mysql数据库存储json类型数据,因此记录一下使用流程 1.java实体中新增字段 private List<User> users 2.增加mybatis-plus注解 TableField(typeHandler FastjsonTypeHandler.class) private Lis…...
