搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
2023面试高手
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
@vue3 element-plus 按需引入,默认英文组件修改为中文_elementplus按需引入国际化
2
利用matlab创建CNN网络训练后输出预测精度
3
Carsim-Simulink无人驾驶Pure Pursuit算法实现_carsim中y_dri
4
Using pre-trained word embeddings in a Keras model_pre-trained vgg16下载
5
如何构建你的认知体系?查理芒格的100个思维模型_如何搭建认知模型
6
一文搞定 Appium 环境配置_windowsappium环境设置
7
Flutter包大小优化_flutter打包成aar优化大小
8
安卓的五种存储方式_请简述android平台提供的五种存储方式。
9
(2023|ICML,StyleGAN-T & CLIP & ViT)释放 GAN 的力量,实现快速大规模文本到图像合成_stylegan-t: unlocking the power of gans for fast l
10
junit-4.12与依赖包hamcrest-core-1.3免费下载_junit-4.12.jar下载
当前位置:
article
> 正文
Mysql入门(五)之外键_foreign key references用法
作者:2023面试高手 | 2024-04-09 19:53:36
赞
踩
foreign key references用法
外键
外键:foreign key,外面的键(键不在自己表中):如果一张表中有一个字段(非主键)指向另外一张表的主键,那么将该字段称之为外键。
增加外键
外键可以在创建表的时候或者创建表之后增加(但是要考虑数据的问题)。
一张表可以有多个外键
创建表的时候增加外键:在所有的表字段之后,使用foreign key(外键字段)references 外部表(主键字段)
在新增表之后增加外键:修改表结构
Alter table 表名 add[ constraint 外键名 ] foreign key(外键字段)references 父表(主键字段);
修改外键&删除外键
外键不可修改:只能先删除后新增
删除外键语法
Alter table 表名 drop foreign key 外键名;一张表可以有多个外键,但外键名不能一样
外键作用
外键默认的作用有两点:一个对父表,一个对子表(外键字段所在的表)
对子表约束:子表数据进行写操作(增和改)的时候,如果对应的外键字段在父表找不到对应的匹配,那么操作会失败(约束子表数据操作)
对父表约束:父表数据进行写操作(删和改:都必须涉及到主键本身),如果对应的主键在子表中已经被数据所引用,那么就不允许操作
外键条件
1. 外键要存在:首先必须保证表的存储引擎是innodb(默认的存储引擎):如果不是innodb存储引擎,那么外键可以创建成功,但没有约束效果
2. 外键字段的字段类型(列类型)必须与父表的主键类型完全一致
3. 一张表的外键名字不能重复
4. 增加外键的字段(数据已经存在),必须保证数据与父表主键要求对应
外键约束
所谓外键约束:就是指外键的作用
之前所讲的外键作用:是默认的作用;其实可以通过对外键的需求,进行定制操作
外键约束有三种约束模式:都是针对父表的约束
District:严格模式(默认),父表不能删除或者更新一个已经被子表数据引用的记录
Cascade:级联模式:父表的操作,对应子表关联的数据也跟着被删除
Setnull:置空模式:父表的操作之后,子表对应的数据(外键字段)被置空
通常的一个合理的做法(约束模式):删除的时候子表置空,更新的时候子表级联操作指定模式的语法
Foreign key(外键字段)references 父表(主键字段)on delete 模式 on update 模式;
删除置空的前提条件:外键字段允许为空(如果不满足条件,外键无法创建)
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/2023面试高手/article/detail/394832
推荐阅读
article
Java
项目
:
宠物店
管理系统
(
java
+JSP+
Java
Script+
Bootstrap
+Mysql...
本
项目
分为前后台,主要分为管理员与用户两种角色,管理员登录后台,普通用户登录前台;管理员角色包含以下功能:管理员登录,订...
赞
踩
article
Java
毕设项目——网上
宠物店
管理系统
(
java
+SSM+
Maven
+Mysql+Jsp)_
宠物店
管...
随着我国经济的快速发展,人民生活水平的不断提高,宠物逐渐成为许多宠物爱好者的一种生活方式。宠物的品种也越来越多样化,宠物...
赞
踩
article
bottle
mysql
,
web
开发框架的选择(
bottle
or
flask
)及为
autumn
增加...
其实之前就有写过关于python
web
开发框架选择的文章,之前最终选择了
bottle
,并给出了
bottle
开发的物理设...
赞
踩
article
基于
java
web+
jsp
的宠物医院
管理系统
设计和实现(
java
+
Springboot
+ssm+my...
基于
java
web+
jsp
的宠物医院
管理系统
设计和实现(
java
+
Springboot
+ssm+
mysql
+
jsp
+ma...
赞
踩
article
基于
Django
的保洁
家政
服务
预约
系统
设计与实现(Pycharm+Python+Mysql)_pyt...
基于
Django
的保洁
家政
服务
预约
系统
设计与实现(Pycharm+Python+Mysql)毕业设计源代码作品,黄菊华老...
赞
踩
article
Java
高校学校校园
教室
房间
预约
管理系统
设计与实现(
Idea
+
Springboot
+mysql)...
Java
高校学校校园
教室
房间
预约
管理系统
设计与实现(
Idea
+
Springboot
+mysql)毕设源码毕业设计,黄菊华...
赞
踩
article
基于
java
web的
宠物医院
预约挂号系统(
java
+JSP+
Spring
+
Spring
Boot+My...
基于
java
web的
宠物医院
预约挂号系统(
java
+JSP+
Spring
+
Spring
Boot+
MyBatis
+
html
...
赞
踩
article
Java
项目:
宠物
医院
预约
管理
系统设计和实现(
java
+
springboot
+
mysql
+ssm)_...
项目使用
java
SpringMVC、
springboot
mybatis、layui为核心技术编写多的不说,直接上一部...
赞
踩
article
基于
java
web
+
springboot
的
宠物医院
预约
管理系统
设计和实现(
java
+springbo...
基于
java
web
+
springboot
的
宠物医院
预约
管理系统
设计和实现(
java
+
springboot
+
mysql
+s...
赞
踩
article
基于
java
web+
mysql
的
springboot
宠物医院
在线系统(
java
+
springboot
...
基于
java
web+
mysql
的
springboot
宠物医院
在线系统(
java
+
springboot
+vue+mybat...
赞
踩
article
基于
java
web+
mysql
的
spring
boot宠物医院预约挂号系统(
java
+
spring
+s...
JSP +Spring + SpringBoot + MyBatis +
html
+ css + JavaScript ...
赞
踩
article
mysql
guanwnag_
Error
while deserializing
binlog
ev...
执行同步操作的时候提示如下错误,如何排查此类问题:2020-11-30 20:49:05,118 ERROR io.de...
赞
踩
article
spring
boot
项目:
订单
生成
和沙箱支付_
spring
boot
mysql
怎么储存多种
订单
号...
快速读懂
订单
生成
和沙箱支付_
spring
boot
mysql
怎么储存多种
订单
号
生成
规则
spring
boot
mys...
赞
踩
article
【
MySQL
】基本
查询
(
2
)...
本篇博客将会介绍Update,Delete,插入
查询
结果,聚合函数以及group by子句的使用【
MySQL
】基本
查询
(
...
赞
踩
article
Java
在线租车
汽车
租赁
系统设计与实现(
Idea
+
Springboot
+mysql)...
Java
在线租车
汽车
租赁
系统设计与实现(
Idea
+
Springboot
+mysql)毕设毕业设计源码黄菊华老师《Vue....
赞
踩
article
招生
宣传
管理
系统
(JSP+
java
+springmvc+
mysql
+MyBatis)_
招生
宣传
系统
...
随着高等教育竞争的加剧和信息时代的到来,高校
招生
宣传
工作的重要性日益凸显。传统的
招生
宣传
方式如纸制简章、现场讲座等已不能...
赞
踩
article
Java
+MySQL 基于ssm的
留学生
交流互动
论坛
网站
#毕业设计_
java
+
mysql
论坛
网站
开源...
文末获取源码项目编号:
Java
+MySQL ssm273
留学生
交流互动
论坛
网站
#毕业设计开发语言:
Java
开发工具:ID...
赞
踩
article
高校
学院
网站
毕业设计
JAVA+
Vue
+SpringBoot+MySQL...
基于
Vue
2/
Vue
3+SpringBoot+MySQL的高校
学院
网站
包含
学院
概况模块、
学院
院系模块、党建园地模块、竞赛...
赞
踩
article
【
课程设计
/
毕业设计
】Java
视频点播
系统项目源码(springboot +
mysql
+
vue
...
一直想做一款
视频点播
管理系统,看了很多优秀的开源项目但是发现没有合适的。于是利用空闲休息时间开始自己写了一套管理系统。学...
赞
踩
article
【
MySQL
系列】
MySQL
语句
篇_
DCL
语句
_
mysql
dcl
...
DCL
( Data Control Language,数据控制语言)用于对数据访问权限进行控制,定义数据库、表、字段、用...
赞
踩
相关标签
bootstrap
javascript
java
JSP
mysql
maven
网上宠物店管理系统
bottle mysql
spring boot
保洁家政服务预约系统
校园教室房间预约管理系统
springboot
spring
mybatis
servlet