Mysql实现级联操作(级联更新、级联删除)

mysql级联更新和级联删除 mysql级联更新和级联删除,区分有级联和没级联操作的区别之处 立即下载

 

一、首先创建两张表stu,sc

复制代码

create table stu(
sid int UNSIGNED primary key auto_increment,
name varchar(20) not null)
TYPE=InnoDB charset=utf8;

create table sc(
scid int UNSIGNED primary key auto_increment,
sid int UNSIGNED not null,
score varchar(20) default '0',
index (sid),   --外键必须加索引
FOREIGN KEY (sid) REFERENCES stu(sid) ON DELETE CASCADE ON UPDATE CASCADE)
TYPE=InnoDB charset=utf8;

复制代码

--说明: 外键必须建立索引;

FOREIGN key(sid)  设置外键,把sid设为外键

REFERENCES stu(sid) 引用作用。引用stu表中的sid

ON DELETE CASCADE 级联删除
ON UPDATE CASCADE 级联更新

二、向两张表插入数据

复制代码

insert into stu (name) value ('zxf');
insert into stu (name) value ('ls');
insert into stu (name) value ('zs');
insert into stu (name) value ('ww');

insert into sc(sid,score) values ('1','98');
insert into sc(sid,score) values ('1','98');
insert into sc(sid,score) values ('2','34');
insert into sc(sid,score) values ('2','98');
insert into sc(sid,score) values ('2','98');
insert into sc(sid,score) values ('3','56');
insert into sc(sid,score) values ('4','78');
insert into sc(sid,score) values ('4','98');

复制代码

 

注意:在sc表中插入数据时,若插入的sid为22,则会插入失败,违反外键约束,因为外键sid
来自stu表中的id的主键,即stu中的id没有等于22的数据。

级联删除:将stu表中id为2的学生删除,该学生在sc表中的成绩也会级联删除

delete from stu where sid = '2';

 


级联更新:stu表中id为3的学生更改为id为6,该学生在sc表中的对应id也会级联更新

update stu set sid=6 where sid='3';

 

注意

删除表的时候必须先删除外键表(sc),再删除主键表(stu)

 

上图为违反外键约束,不能删除

上图为正常删除,先删除sc表,再删除stu表!

 

——现在的努力,只为小时候吹过的牛逼! ——

分类: 技术问题

MySQL使用外键实现级联删除与更新的方法 主要介绍了MySQL使用外键实现级联删除与更新的方法,详细分析了mysql数据库与表的创建、数据插入、查询以及外链的使用与级联操作相关技巧,需要的朋友可以参考下 立即下载

相关推荐

采用超级电容设计的UPS不间断电源,用于掉电数据保存,可续航10-60秒

关键词:树莓派 CM4 UPS 不间断电源 掉电保存 超级电容 SuperCap 充电 升压 续航 10F 法拉电容 Mcuzone 野芯科技 概述:我们经常会遇到系统意外掉电的情况,对于一些可靠性要求很高的工业现场设备或者运行过程中有重要数据需要保存的平台就需要UPS电源了。常规的UPS采用后备锂电池设计,具备无缝切换、续航时间长、稳定可靠等特点,但同时也有价格过高、体积过大的缺点。对于不少仅需在检测到系统掉电后对数据进行保存即可的应用而言,这些标准的UPS电源就不太合适,为此我...

6606

【MySQL】实现级联操作(级联更新、级联删除)

一、首先创建两张表stu,sc create table stu( sid int UNSIGNED primary key auto_increment, name varchar(20) not null) TYPE=InnoDB charset=utf8; create table sc( scid int UNSIGNED primary key auto_increment, si...

qq_25285531的博客 4448

易康eCognition9.0分类|规则集和机器学习的方法的面向对象的多尺度分割分类

基于易康eCognition9.0软件的规则集和机器学习的方法的面向对象的多尺度分割分类

weixin_46493028的博客 1万+

MySQL中的级联删除与更新策略

MySQL中的级联删除与更新策略

weixin_53314414的博客 849

接口调试必看:status显示canceled的3种常见原因及修复方法

本文深度解析了接口调试中status显示canceled的三种核心原因:网络层中断(如请求超时)、应用层逻辑主动取消(如请求竞态、组件卸载)以及用户交互与浏览器行为。文章提供了从诊断到修复的系统性方案,包括分析Network Timing、使用Axios CancelToken、优化请求策略与性能,帮助开发者从根本上解决这一常见问题。

bb456的博客 938

Visual Studio 2013 + Intel(R) Visual Fortran 安装教程

安装了好几遍,ivf都不能加载到vs中,中途放弃了vs,又改用codeblocks编译器,依然在写fortran的时候出现了各种问题,于是又放弃了codeblocks改回vs,总之是折腾了好久,终于装明白了ivf并且将fortran模板成功加载到vs中。 PS:一定要安装Intel Visual Fortran.Composer XE.2013-SP1,不要用Intel Visual Fortr...

Coco_wjy的博客 12万+

mysql联级更新_mysql 各种级联查询后更新(update select)

mysql 各种级联查询后更新(update select).CREATE TABLE `tb1` (`id` int(11) NOT NULL,`A` varchar(100) default NULL,`B` varchar(100) default NULL,`C` varchar(20) default NULL,PRIMARY KEY (`id`),KEY `id` (`id`)) ...

weixin_29224309的博客 317

微信小程序 实现拼图功能

微信小程序 实现碎片拼图

weixin_45689786的博客 2251

mysql数据库中的级联删除和更新的设置方法

级联概念: mysql创建的表和表之间如果存在联系,若父表的内容限制者了子表的内容选择,那么就产生了级联的概念,当父表内容产生了变化,如果产生变化的内容和子表相关联,那么子标也应该产生相应的改变。 要实现级联需要设置外键约束和主键约束,但是如果想要实现级联删除和级联更新的情况,需要注意外键约束和主键约束的实现方式。 建立主键和外键的第一种方式(不够灵活,不能实现级联,建议使用第二种) 在创建表的时候设置 create table tb_dept ( dno integer not null comment

qq_17495489的博客 4025

C/C++基础讲解(四十三)之图形篇之绘制直线、圆、圆弧、 椭圆

程序主要是基于Visual studio 2019进行编译完成了,有兴趣的小伙伴可以自己安装下Visual studio 2019,网上有现成的教程,当然了,如果有问题,也可以和我联系,这里我们主要讲解些源码实例,不多说了,言归正传。 C语言,做为学习其他语言的基础语言,其重要性就不言而喻了.下面我将和大家一起来学习探讨C语言的相关奥秘。 实例1:绘制直线 实例2:绘制圆 实例2:绘制圆弧 实例2:绘制椭圆

hnjzfwy的博客 1236

PCL 读取和保存点云

PCL (Point Cloud Library) 是一个用于处理 3D 点云数据的开源库。在处理点云数据时,常见的任务包括点云的读写和可视化。PCL 提供了强大的 IO 模块来读取和写入各种格式的点云文件,并且提供了可视化模块来对点云进行渲染和显示。点云的读写与显示是很多 3D 数据处理任务的基础步骤,通过这些步骤,可以对点云进行预处理、分析和操作。

纵马踏花向自由 1740

mysql存储过程实现级联删除_Mysql实现级联操作(级联更新、级联删除)(转)...

一、首先创建两张表stu,sccreate table stu(sid int UNSIGNED primary key auto_increment,name varchar(20) not null)TYPE=InnoDB charset=utf8;create table sc(scid int UNSIGNED primary key auto_increment,sid int UNSI...

weixin_28741099的博客 560

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

mysql实现级联操作(级联更新、级联删除)

一、首先创建两张表stu,sc create table stu( sid int UNSIGNED primary key auto_increment, name varchar(20) not null) TYPE=InnoDB charset=utf8; create table sc( scid int UNSIGNED primary key auto_increment, sid int UNSIGNED not null, score varchar(20) default '0'..

sunsineq的专栏 6912

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

mysql级联更新_Mysql实现级联操作(级联更新、级联删除)(转)

一、首先创建两张表stu,sccreate table stu(sid int UNSIGNED primary key auto_increment,name varchar(20) not null)TYPE=InnoDB charset=utf8;create table sc(scid int UNSIGNED primary key auto_increment,sid int UNSI...

weixin_36272668的博客 489

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Mysql实现级联操作(级联更新、级联删除)(转)

一、首先创建两张表stu,sc create table stu( sid int UNSIGNED primary key auto_increment, name varchar(20) not null) TYPE=InnoDB charset=utf8; create table sc( scid int UNSIGNED primary key auto_i...

datai3890的博客 712

mysql数据库教程级联_Mysql实现级联操作(级联更新、级联删除)

tablestu(sidint UNSIGNED primary keyauto_increment,namevarchar(20) not null)TYPE=InnoDB charset=utf8;create tablesc(scidint UNSIGNED primary keyauto_increment,sidint UNSIGNED not null,scorevarchar(20)...

weixin_39827506的博客 707

mysql设置级联删除和更新

SQL级联删除和级联更新的概念 (1)为什么要用级联? 当没有对目标键设置级联删除和更新,删除或更新主键表中的数据(外键表中有该目标键的数据)时,会报错,不允许删除或更新,必须先把外键表中关联的数据删除之后才能删除主键表中的数据。 (2)简单思路 多设置几条sql语句,在删除主键表中的数据时,先把外键表中与之关联的数据删除。 (3)级联概念 其实在sql中就有这个功能,只需要把命令写好就可以了。 概念:当对主键表中的数据进行删除和更新时,数据库会对关联的数据会自动删除和更新。 结合例子的具体使用方法 就初学

weixin_47062406的博客 4679

sql 添加级联删除和级联更新

添加级联删除 : mysql> alter table t_orderitem add constraint `FK...` foreign key (oid) references t_orders (oid) on delete cascade; 添加级联更新 : mysql> alter table t_orderitem add constraint `FK...` fo

mrchen的博客 1万+

mysql 利用外键级联删除、更新

mysql 利用外键级联删除、更新MySql支持外键的存储引擎只有InnoDB 在创建外键的时候,要求父表必须有对应的索引,子表在创建外键的时候也会自动创建对应的索引。 在创建子表索引的时候,可以指定在删除、更新父表时,对子表进行相应的操作,包括 restrict no action set null cascade. 其中restrict 和 no action 相同:在子表有关联记录的情

shaukon的博客 6495

mysql外键级联更新_MySQL中利用外键实现级联删除、更新

MySQL中利用外键实现级联删除、更新MySQL支持外键的存储引擎只有InnoDB,在创建外键的时候,要求父表必须有对应的索引,子表在创建外键的时候也会自动创建对应的索引。在创建索引的时候,可以指定在删除、更新父表时,对子表进行的相应操作,包括RESTRICT、NO ACTION、SET NULL和CASCADE。其中RESTRICT和NO ACTION相同,是指在子表有关联记录的情况下父表不能更...

weixin_31859277的博客 1084
上一篇: K8S容器编排之Headless浅谈
下一篇: 星星模型&&雪花模型
王树民
博客等级 码龄10年 912粉丝 560原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值