》复习

查询表达式

关注顺序

》正则

》外键的引入

先创建一个主表

代码

当未选中库时,可以通过库名.表名来指定表

见代码

》子表的创建

charger_id,班主任的编号

》往班任任表中添加数据

往学生表中添加数据

》查看数据,学生表的情况

每一个学生都有对应的班主任

如果把一个班主任删掉以后

相当于班主任离职了

按道理说,学生表中对应的班主任应该发生变化

然而实际情况

这样的数据是不安全不合理的

》插入数据的非法

当前一号班主任已经离职,按理学生不应该可以再被一号班主任接待

如何解决这样的琺合理的情况?

外键关联

》外键的定义

在建表的时候

注意,外键与关联的键的数据类型一定要保持一致,否则会出问题

如此就成功创建了一个学生表的子表,他与班主任表主表相关联

》关联的效果

关联好后就不可以随便删除了

当前不能够把班主任二号删掉的原因是

这个班主任名下还有带着的学生

把学生移交给其它班主任

然后再删

此时,班主任2已经不存在了

如果添加的学生,还要指向这个班主任2

因为有了外键的关,判断这个是不可以实现的

会有一个报错的提示

》思考,前面的外键是创建的时候定义好的。能否对一个不存在外键的表,临时定义外键吗?

》给一个表添加外键

代码

》删除外键

》外键约束子键

》级联删除

当父表的数据删除的时候,与它相关联的子表数据一起删掉


在定义外键的时候加上 on delete cascade

例如

查看一下建表语句

尝试一下,把主表的一条数据删除,观注子表中相关联的数据是否也没有了

》级联,设置为null

》删除外键

》补一个外键同时加级联设置为空

mysql- 外键与 级联删除相关推荐

  1. mysql创建外键级联更新_MySQL使用外键实现级联删除与更新的方法

    本文实例讲述了MySQL使用外键实现级联删除与更新的方法.分享给大家供大家参考,具体如下: MySQL支持外键的存储引擎只有InnoDB,在创建外键的时候,要求父表必须有对应的索引,子表在创建外键的时 ...

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

    MySQL中利用外键实现级联删除.更新 MySQL支持外键的存储引擎只有InnoDB,在创建外键的时候,要求父表必须有对应的索引,子表在创建外键的时候也会自动创建对应的索引.在 创建索引的时候,可以指 ...

  3. mysql级联删除外键约束_MySQL外键设置 级联删除

    . cascade方式 在父表上update/delete记录时,同步update/delete掉子表的匹配记录 . set null方式 在父表上update/delete记录时,将子表上匹配记录的 ...

  4. MySQL外键之级联

    简介 MySQL外键起到约束作用,在数据库层面保证数据的完整性. 例如使用外键的CASCADE(cascade串联)类型,当子表(例如user_info)关联父表(例如user)时,父表更新或删除时, ...

  5. Mysql外键约束怎么删除

    记录一下碰到的问题.由于我是使用PowerDesigner来建mysql物理模型的,为了表与表之间的关系更加清楚,我给他们连线了.之后我就用它生成的SQL语句在navicat把表建出来,我看见没问题就 ...

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

    MySQL支持外键的存储引擎只有InnoDB,在创建外键的时候,要求父表必须有对应的索引,子表在创建外键的时候也会自动创建对应的索引.在创建索引的时候,可以指定在删除.更新父表时,对子表进行的相应操作 ...

  7. MySql 修改外键 支持级联删除

    首先必须要有外键,InnoDB甚么的都不说了,直接上修改句子. 要先删除该外键,然后添加. 具体原因貌似是因为不支持alter外键的操作. ALTER TABLE `t_terminal` DROP ...

  8. mysql怎么写外键支持级联删除_MySQL外键级联删除不起作用,完全难倒

    我已经阅读了很多其他线程,但我仍然感到难过.我创建了两个非常简单的表作为完整性检查,并且无法让它们执行级联删除,因此需要一些帮助. CREATE TABLE `test1` ( `test1_ID` ...

  9. Oracle外键约束如何同时更新,SQL与ORACLE的外键约束-级联更新和删除

    /* SQL与ORACLE的外键约束--级联删除 最近软件系统中要删除一条记录,就要关联到同时删除好多张表,他们之间还存在着约束关系.所以考虑到在创建表时加上约束关系,具体如下: SQL的外键约束可以 ...

  10. oracle 级联外键,Oracle 级联删除外键

    所谓的级联删除是指当主表中的一条记录被删除,那么子表中所关联的记录也相应的自动删除.本教程将教大家如何在Oracle中使用级联删除外键. 使用CREATE TABLE语句定义级联删除 以下是使用CRE ...

最新文章

  1. 油管螺纹尺寸对照表_数控加工过程中,如何区分新旧螺纹牌号?
  2. java文件出现字符串_找出三个文本文件中都出现的字符串,并输出到一个文本文件(菜鸟求救)...
  3. hdu 2821 Pusher (dfs)
  4. 【足迹C++primer】52、,转换和继承虚函数
  5. Nodejs安装及使用
  6. 如何使用struts2对集合参数进行验证
  7. 约瑟夫斯问题-java版数组解法和链表解法
  8. 【笔试面试】75道逻辑推理题及答案
  9. 九大内置对象和四大作用域
  10. 数字化转型投入大、效果差,永洪BI如何帮助企业迈出数据应用第一步
  11. 实现领域驱动设计.pdf
  12. HNOI2014 世界树 基于虚树的树形动态规划
  13. Unity3d设置鼠标指针的样式
  14. 基于STM32使用PWM调速控制直流电机
  15. Python爬虫 抓取大数据岗位招聘信息(51job为例)
  16. 区块链是什么意思?区块链的概念及特点
  17. Git版本控制管理——Git和GitHub
  18. [UNR#5]诡异操作
  19. 边际效用递减推导需求曲线_软件需求曲线
  20. 行内元素和块元素的区别

热门文章

  1. python清空集合_python集合删除多种方法详解
  2. python语言与c语言相比在分支结构上有什么不同,python 基础教程之语法篇章——一小时入门python__对比python与C语言的语法异同...
  3. 在线涂鸦画板小程序源码
  4. FileZilla Pro32位64位官方安装版 v3.50.0
  5. sublime 安装 Package Control(笔记)
  6. Notebook响应式扁平化后台UI框架模板
  7. Spring Cloud微服务之父工程的创建(一)
  8. 关于伪静态和真静态的一点心得
  9. 五个免费UML建模工具推荐
  10. Comet:基于 HTTP 长连接的“服务器推”技术 (实例)