mysql外键约束

MySQL 外键约束详解 外键是表中的一个字段(或字段集合),它引用另一个表的主键或唯一键。外键约束用于确保引用完整性,保证数据的一致性和有效性。CREATE TABLE 子表名称 (列1 数据类型,列2 数据类型,...FOREIGN KEY (外键列) REFERENCES 父表名称(主键列)[ON DELETE 引用动作][ON UPDATE 引用动作] 阅读详情

外键:

经常与主键约束一起使用。对于两个具有关联关系的表而言,相关联字段中主键所在的表就是主表(父表),外键所在的表就是字表

外键用来建立主表与从表的关联关系。为两个表的数据建立连接,,约束两个表中数据的一致性和完整性。比如,一个水果摊,只有苹果、
桃子、李子、西瓜等4中水果,那么你选择就只能 选择 苹果 、桃子、李子、西瓜 其他的水果都是不能购买的
(上面也就是说,子表元素只能定义和主表有的元素)

主表删除某条记录时,从表中与之相对应的记录也必须有相应的改变。一个表可以有一个或多个外键,外键可以为空值,若不为空值,
则每一个外键的值必须等于主键的某个值

定义外键时,需要遵守下列规则:

1.主表必须已经存在于数据库中,或者是当前正在创建的表。如果是后一种情况,则主表与从表是同一个表,这样的表称为自参照表,这种结构称为自参照完整性。
2.必须为主键定义主键
3.主键不能包含空值,但允许在外键中出现的空值
4.外键中列的数目必须和主表的主键中列的数目相同。
5.外键中列的数据类型必须和主表主键中对应列的数据类型相同。

创建表时增加外键的格式:

格式为: constraint 你自己创建的外键名称 foreign key (本表中和父表需要建立联系的字段) references 父表的表名(父表内和字表建立联系的字段)
列:constraint rhh_jx foreign key (sid) references rhh123 (id)

修改表时增加外键的格式:

格式为:alter table 表名 add constraint 你自己创建的外键名称 foreign key (本表中和父表需要建立联系的字段) references 父表的表名(父表内和字表建立联系的字段)
列:
alter table qjx123 add constraint qjx_rhh foreign key (sid) references rhh123(id)

删除外键的格式:

alter table 表名 drop foreign key 外键名称
列:
alter table qjx123 drop foreign key rhh_jx

MySQL外键约束 1.添加外键约束 外键指的是在一个表中引用另一个表中的一列或多列,被引用的列应该具有主键约束或唯一性约束,从而保证数据的一致性和完整性. 被用的表称为主表 引用外键的表称为从表 [ CONSTRAINT symbol] FOREIGN KEY [index_name(index_ col_name,… REFERENCES tbl_name(index_col_name,…) [ON DELETE {RESTRICT | CASCADE | SET NULL | NO ACTION |SET DEFAULT 阅读详情

相关推荐

避坑指南:企业微信IP白名单设置失败的5种常见原因及解决方案

本文深入解析企业微信API调用中IP白名单设置失败的5种常见原因,包括动态公网IP变更、代理服务器导致的IP失真等,并提供针对性的解决方案。特别针对可信IP配置问题,详细介绍了诊断方法和Java代码示例,帮助企业开发者快速解决访问限制问题,确保API调用安全稳定。

weixin_29280657的博客 619

MySQL数据库——MySQL外键约束(FOREIGN KEY)

MySQL 外键约束(FOREIGN KEY)是表的一个特殊字段,经常与主键约束一起使用。对于两个具有关联关系的表而言,相关联字段中主键所在的表就是主表(父表),外键所在的表就是从表(子表)。

Itmastergo的博客 5万+

绝缘检测原理和绝缘电阻计算方法

绝缘检测的目的就是计算绝缘电阻,当绝缘电阻低于某个阈值,则很可能会造成电池短路、漏电,威胁人员安全

m0_56208280的博客 4万+

数据库的约束详解(2) —— 外键

数据库的约束详解(2) —— 外键     外键约束主要用于保证一个或两个数据表之间的参照完整性。从表外键参照的只能是主表主键列或者唯一键列,这样才能保证从表记录可以准确定位到被参照的主表记录。同一表内可以有多个外键。其中,增加外键列的表被称为从表。     建立外键约束时,MySQL也会为该列建立索引。          1. 给表的某一列添加外键约束   alter tabl

fanwenjieok的专栏 2114

Minecraft Forge模组开发入门:从环境搭建到事件监听实战

事件驱动编程是一种基于事件和事件监听器的软件架构模式,其核心原理是通过事件总线实现组件间的松耦合通信。在游戏开发领域,这种模式能够有效处理玩家交互、状态变更等异步操作,具有高度的灵活性和可扩展性。Java作为面向对象编程语言,通过注解和反射机制为事件驱动提供了天然支持。Minecraft模组开发正是事件驱动编程的典型应用场景,开发者可以利用Forge框架提供的事件总线监听游戏内各种行为。本文以Minecraft Forge模组开发为例,详细讲解如何通过Gradle构建工具搭建开发环境,并实现自定义方块注册和

culi3182的博客 395

超详细Matlab R2021a免费安装教程(附安装包)

Matlab是一种高级技术计算语言和交互式环境,用于算法开发、数据可视化和数值计算。它集成了数学、工程和科学计算的丰富函数库,提供了强大的数据分析和绘图工具。Matlab还支持并行计算和大规模数据处理,适用于各种领域,如信号处理、图像处理、控制系统、机器学习等。

waicsdn_haha的博客 1万+

MySQL数据库期末考试试题及参考答案(05)

交叉连接查询返回的结果是被连接的两张数据表中所有数据行的笛卡尔积

谷哥的小弟 1万+

交叉编译Qt6.5.3(RK3568开发板)

注意,如果使用其它版本的交叉编译器的话,请确保你的交叉编译器能够支持 C++17标准。为确保后续交叉编译没问题,需要确保开发板使用的GLIBC版本不小于2.34版本。到 linaro 网站上下载交叉编译工具,我下载的是 gcc-linaro-11.3.1-2022.06-x86_64_aarch64-linux-gnu.tar.xz。安装 CMake ,最低要求3.16版本,如果要静态编译,需要3.21及以上版本。我使用的3.27版本。:指定为最后交叉编译后的Qt6.5.3库的安装目录。

m0_46309425的博客 5101

MySQL基础教程系列-约束(二)外键约束

一、什么是参照完整性 在学习外键之前,我们必须先搞懂一个概念,什么是“参照完整性”。 参照的关系中的属性值必须能够在被参照关系找到或者取空值,否则不符合数据库的语义。 在实际操作时如更新、删除、插入一个表中的数据,通过参照引用相互关联的另一个表中的数据,来检查对表的数据操作是否正确,不正确则拒绝操作。 举个例子,有一张员工表,字段为工号、姓名、所属部门。 还有一张部门表,字段为部门编号,部门名称,部门位置。 员工表demo_employee如下 部门demo_dept表如下 每一.

尹洪亮 Kevin 1939

使用 MATLAB/Simulink + Simscape Electrical,构建一个含光伏并网系统与SVG的联合仿真模型,实现动态无功补偿与电压支撑

摘要:本文详细介绍了基于Simulink的SVG与光伏并网逆变器联合系统建模方法。通过构建包含光伏单元、SVG主电路和控制模块的仿真模型,实现动态无功补偿与电压稳定。重点阐述了ip-iq无功检测算法、双闭环控制和SVPWM调制等关键技术。仿真结果表明,该系统能快速响应无功需求,在10ms内将功率因数提升至0.98以上,有效抑制电压波动。文章为新能源并网系统中的电能质量治理提供了实用解决方案,并提出了进一步优化方向。

xiaoheshang_123的博客 322

4、分布式发电系统中用于改善电能质量的有源、无源和混合滤波器

本文探讨了分布式发电系统中,尤其是光伏(PV)系统运行过程中引入的电能质量问题,并分析了有源滤波器、无源滤波器及混合滤波器在改善电能质量方面的应用。文章详细介绍了光伏系统的建模、最大功率点跟踪(MPPT)技术,以及谐波、电压波动等技术问题,同时对各类滤波器的拓扑结构和控制方法进行了系统性总结。通过仿真实例比较了不同滤波器在减少谐波方面的效果,为实际工程应用提供了参考依据。

transformer2023的博客 89

Mysql05——外键约束

mysql外键约束

tonyshi1989的博客 3073

[Unity3D]水族馆游戏教程四

文章目录0.接上篇1.速度控制器2.修改FishAI3.修改后的效果4.总结 0.接上篇 上一篇,实现了鱼AI的随机游动、自动转向,并且学习了如何分析调试过程中遇到的报错。 本篇将继续优化鱼AI。 1.速度控制器 上一篇虽然实现了鱼的随机游动,但是可以看到,鱼在转向的时候,会显得很突然。因此先要解决这个问题。 我们的思路是,让鱼在刚转向的时候,速度由慢到快,等到游动到快要到达目标点的时候,速度减慢...

延澈左的专栏 1037

MySQL外键约束详解

今天继续给大家介绍MySQL相关知识,本文主要内容是MySQL外键约束详解。 一、MySQL外键约束作用 二、外键约束创建 (一)创建外键约束的条件 (二)在创建数据表时创建外键约束 (三)在创建数据表后添加外键约束 三、外键约束功能演示

永远是少年 2万+

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

MySQL外键约束(FOREIGN KEY)

MySQL外键约束(FOREIGN KEY) MySQL 外键约束(FOREIGN KEY)用来在两个表的数据之间建立链接,它可以是一列或者多列。一个表可以有一个或多个外键。 外键对应的是参照完整性,一个表的外键可以为空值,若不为空值,则每一个外键的值必须等于另一个表中主键的某个值。 外键是表的一个字段,不是本表的主键,但对应另一个表的主键。定义外键后,不允许删除另一个表中具有关联关系的行。 外键...

诸葛苍穹 2万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

MYSQL——外键约束

常见的6种约束/规则:主键约束、外键约束、非空约束、唯一性约束、默认值约束、自增约束、` 如果同一个属性字段x在表一中是主键,而在表二中不是主键,则字段称为表二的外键。`以公共关键字作为主键的表为主键表(父表、主表)以公共关键字作为外键的表为外键表(从表、外表) ` 注意:与外键关联的主表的字段必须设置为主键。要求从表不能是临时表,主表外键字段和从表的字段具备相同的数据类型、字符长度和约束(不包括主键约束)。`

zhou641694375的博客 5093

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

教你mysql如何增加外键约束

在本篇文章里小编给大家整理的是一篇关于mysql增加外键约束具体方法及相关实例内容,有兴趣的朋友们可以跟着学习下。 本教程操作环境:windows7系统、mysql8版本、Dell G3电脑。 MySQL 外键约束(FOREIGN KEY)是表的一个特殊字段,经常与主键约束一起使用。对于两个具有关联关系的表而言,相关联字段中主键所在的表就是主表(父表),外键所在的表就是从表(子表)。 外键用来建立主表与从表的关联关系,为两个表的数据建立连接,约束两个表中数据的一致性和完整性。 定义外键时,需要遵守

Free雅轩的博客 1万+

mysql外键约束怎么写_mysql外键约束怎么写

mysql外键约束的写法:【[CONSTRAINT ] FOREIGN KEY 字段名 REFERENCES 主键列1】。外键约束是表的一个特殊字段,经常与主键约束一起使用。在 CREATE TABLE 语句中,通过 FOREIGN KEY 关键字来指定外键。(推荐学习:mysql教程)具体的语法格式如下:[CONSTRAINT ] FOREIGN KEY 字段名 [,字段名2,…]REFERE...

weixin_34115768的博客 1万+

MySQL之添加和删除外键约束

MySQL之添加和删除外键约束 1. 创建表时添加外键约束 CREATE TABLE Orders ( Id_O int NOT NULL, OrderNo int NOT NULL, Id_P int, PRIMARY KEY (Id_O), CONSTRAINT fk_PerOrders FOREIGN KEY (Id_P) REFERENCES Persons(Id_P)...

你的代码有灵魂吗? 4772

MySQL中的外键约束

在主表中添加的数据中,主键 deprno的值包含10、20、30、40和50,由于员工表cmp的外键引用部门表的主键deplto,因此在往员工表emp中添加数据时,其deptno字段的值只能是10、20、30、40和50,不能使用其他的值,具体语句如下。因为从表emp的外键列只能插入所引用的列(部门表的deptmo字段)中存在的值,所以如果要为两个数据表添加数据,就需要先为主表dept添加数据,插入数据的SQL语句如下。在多对一的表关系中,应该将外键添加在“多”的一方,否则会造成数据的冗余。

ZY_CREATE的博客 3549

MYSQL外键约束

MYSQL外键约束

教Linux的李老师 2903

MySQL 外键约束

此外,如果已经存在数据,那么在添加外键约束之前,请确保orders表中的customer_id值与customers表中的id列的值是匹配的,以避免违反外键约束。执行这个 ALTER TABLE 命令后,数据库会将外键约束应用于相应的列,确保只有在 “customers” 表中存在对应的 “id” 值时,才能插入到包含 “customer_id” 列的表中。以上命令将向你指定的表中的 “customer_id” 列添加外键约束,该列将引用 “customers” 表中的 “id” 列。id列被指定为主键。

喝醉酒的小白 2003

MySQL之约束(约束和外键)

学习约束(约束和外键)

xrkhy的博客 1329

MySQL的约束——外键约束

MySQL的约束——外键约束

m0_63217468的博客 1万+
上一篇: java基础日常遇到小问题
下一篇: 正则表达式
BryceMax
博客等级 码龄7年 13粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值