1、班级表

2、学生表

例1:删除班级5:如果直接删除的话肯定不行,因为有外键约束

delete from t_class where cno=5;

1451 - Cannot delete or update a parent row: a foreign key constraint fails (mytestdb.t_student, CONSTRAINT fk_stu_classno FOREIGN KEY (classno) REFERENCES t_class (cno))

– 加入外键策略:
– 策略1:no action 不允许操作
– 先把班级2对应的学生表中的班级改为null

update t_student set classno=null where classno=5;delete from t_class where cno=5;


– 策略2:cascade 级联操作:操作主表的时候影响从表的外键信息:
– 先删除之前的外键约束:
– 重新添加外键约束

-- 先删除之前的外键约束:
alter table t_student drop foreign key fk_stu_classno;
-- 重新添加外键约束:
alter table t_student add constraint fk_stu_classno foreign key (classno) references t_class (cno) on update cascade on delete cascade;

删除外键之后

-- 试试更新:
update t_class set cno = 5 where cno = 3;
-- 试试删除:
delete from t_class where cno = 5;

– 策略3:set null 置空操作:
– 先删除之前的外键约束:
– 重新添加外键约束:

alter table t_student drop foreign key fk_stu_classno;
-- 重新添加外键约束:
alter table t_student add constraint fk_stu_classno foreign key (classno) references t_class (cno) on update set null on delete set null;
-- 试试更新:
update t_class set cno = 8 where cno = 1;

更新成功

– 2.应用场合:
– (1)朋友圈删除,点赞。留言都删除 – 级联操作
– (2)解散班级,对应的学生 置为班级为null就可以了,-- set null

MySQL—表的完整性约束(外键约束)(二)相关推荐

  1. MySQL表的非外键约束

    MySQL表的非外键约束 /* 建立一张用来存储学生信息的表  字段包含学号.姓名.性别,年龄.入学日期.班级,email等信息  学号是主键 = 不能为空 +? 唯一  姓名不能为空  性别默认值是 ...

  2. MySQL多表操作的外键约束

    目录 一.多表关系 一对一关系 一对多/多对一关系 多对多关系 二.外键约束 特点 创建外键约束 方式1-在创建表时设置外键约束 方式2-在创建表时设置外键约束 在外键约束下的操作 1.数据插入 2. ...

  3. mysql创建表时设置外键_mysql创建表时设置外键约束的方法

    mysql创建表时设置外键约束的方法 发布时间:2020-06-17 15:54:11 来源:亿速云 阅读:312 作者:元一 MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中, ...

  4. 使用MySQL数据库创建表时添加外键约束

    /题目:创建表Book表,字段如下: bid整型,要求主键 bname学符型,要求设置唯一键,并非空 price浮点型,要求有默认值10 btypeId 类型编号,要求引用bookType表的id字段 ...

  5. mysql的常见的外键约束

    一  mysql的常见的外键约束策略 设计外键时,mysql提供了4种外键关联策略 1.RESTRICT 限制(默认) 如果有外键关联了tb_class 的id,则tb_class 不能删除被关联的记 ...

  6. 修改表结构添加外键约束,默认外键名

    2019独角兽企业重金招聘Python工程师标准>>> 修改表结构添加外键约束,默认外键名 alter table SUPPLIER_INFO add foreign key (CR ...

  7. MySQL数据库基础(外键约束、添加索引)

    文章目录 一.外键约束 1.外键概念 2.关联约束 3.添加与删除外键 4.集联删除 二.MySQL索引 1.创建唯一索引(三种方法) 2.索引查询 3.全文索引 4.联合索引 5.删除索引 一.外键 ...

  8. mysql启动和关闭外键约束的方法(FOREIGN_KEY_CHECKS)

    在MySQL中删除一张表或一条数据的时候,出现 [Err] 1451 -Cannot delete or update a parent row: a foreign key constraint f ...

  9. 【MYSQL】foreign key 外键约束(详解)

    外键是关联不同表之间的一个联接,比如我们现在有两张表: 那么如何设置外键呢? mysql> create table class(classId int primary key auto_inc ...

  10. 在mysql中如何添加外键约束_如何在MySQL中设置外键约束

    (1) 外键的使用: 外键的作用,主要有两个: 一个是让数据库自己通过外键来保证数据的完整性和一致性 一个就是能够增加ER图的可读性 有些人认为外键的建立会给开发时操作数据库带来很大的麻烦.因为数据库 ...

最新文章

  1. 第四次Scrum编码冲刺!!!!
  2. file_get_contents(php://input)的使用方法
  3. hdu4291 暴力循环节+矩阵快速幂
  4. c 后台输出easyui html,EasyUI——实现展示后台数据代码
  5. 简单显示分配器的实现
  6. BeetleX之简单HTTP/HTTPS实现
  7. platform(win32) 错误
  8. TLS配置和流量分析实验
  9. 推荐系统组队学习——WideDeep
  10. 与其临渊羡鱼,不如退而结网
  11. mysql+keepalived实现双主自由切换
  12. python判断密码是否正确_菜鸟使用python实现正则检测密码合法性
  13. 解决办法:cv::randn(cv::_InputOutputArray const, cv::_InputArray const, cv::_InputArray const)’未定义的引用
  14. 上网本之必备网络工具推荐
  15. 一键同步Elasticsearch,DataWorks数据集成同步解决方案上线!
  16. 抖音 触摸精灵_抖音上超火的iPhone图标滑动技巧!还不知道怎么设置就out啦
  17. XCP协议和A2L文件–A2L(ASAP2)解析
  18. MYSQL使用MHA实现主从复制高可用、Galera Cluster介绍、压力测试、my.cnf配置参考
  19. Android9.0 完全隐藏导航栏、状态栏
  20. 跑酷游戏-第13届蓝桥杯Scratch国赛真题第3题

热门文章

  1. 数据中心ups电源七个故障分析
  2. 推动数据中心绿色转型(经济透视)
  3. 刚刚,华为云挂了。。。
  4. 生僻字(通信工程版)
  5. 数据中心柴油发电机系统的使用和维护
  6. 电费竟然占了数据中心运维总成本的7成?
  7. 成功解决FileNotFoundError: [WinError 2] 系统找不到指定的文件。
  8. ML之Cosin:基于输入图片RGB均值化转为单向vector利用Cosin(余弦相似度)算法进行判别
  9. Bellman_Ford算法
  10. SqlServer 导出指定表数据 生成Insert脚本