当前位置: 首页 > news >正文

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;

http://www.lryc.cn/news/384211.html

相关文章:

  • vue3监听器watch以及watchEffect的使用
  • modelsim做后仿真的一点思路
  • 如何获取特定 HIVE 库的元数据信息如其所有分区表和所有分区
  • 如何在 qmake(QtCreator)中指定 Mac 平台
  • day39动态规划part02| 62.不同路径 63. 不同路径 II 343. 整数拆分 (可跳过)96..不同的二叉搜索树 (可跳过)
  • 声场合成新方法:基于声波传播的框架
  • 鸿蒙文件操作事前准备
  • AI智能时代:ChatGPT如何在金融市场发挥策略分析与预测能力?
  • C#面:C#属性能在接口中声明吗?
  • 区块链的历史和发展:从比特币到以太坊
  • input()函数——输入
  • CST 时间格式减去八小时
  • 植物大战僵尸杂交版技巧大全(附下载攻略)
  • HTTPS 代理的优点和缺点是什么?
  • Mac安装多版本node
  • HTML静态网页成品作业(HTML+CSS)——动漫猪猪侠网页(4个页面)
  • 【机器学习300问】125、什么是双向循环神经网络(BRNN)?什么是深度循环神经网络(DRNN)?
  • 办公软件汇总
  • Docker 搭建 MinIO 对象存储
  • 主干网络篇 | YOLOv5/v7 更换骨干网络之 PP-LCNet | 轻量级CPU卷积神经网络
  • CubeFS - 新一代云原生存储系统
  • 推动多模态智能模型发展:大型视觉语言模型综合多模态评测基准
  • 深度学习31-33
  • Docker多种场景下设置代理
  • node 实现导出, 在导出excel中包含图片(附件)
  • 【ai】trition:tritonclient yolov4:ubuntu18.04部署python client成功
  • oracle 主从库中,从库APPLIED为YES ,但是主库任然为NO
  • VS 在多线程中仅调试某个线程
  • 全球无界,语言无阻——魔众帮助中心(多语言)系统全新升级!
  • SpringCloud集成OpenFeign