外键约束对子表的含义:

如果在父表中找不到候选键,则不允许在子表上进行insert/update

外键约束对父表的含义:

在父表上进行update/delete以更新或删除在子表中有一条或多条对应匹配行的候选键时,父表的行为取决于:在定义子表的外键时指定的on update/on delete子句, InnoDB支持5种方式, 分列如下

1 . cascade方式

在父表上update/delete记录时,同步update/delete掉子表的匹配记录 
On delete cascade从mysql3.23.50开始可用; on update cascade从mysql4.0.8开始可用

2. set null方式

在父表上update/delete记录时,将子表上匹配记录的列设为null 
要注意子表的外键列不能为not null 
On delete set null从mysql3.23.50开始可用; on update set null从mysql4.0.8开始可用

3 . No action方式

如果子表中有匹配的记录,则不允许对父表对应候选键进行update/delete操作 
这个是ANSI SQL-92标准,从mysql4.0.8开始支持

4. Restrict方式

同no action, 都是立即检查外键约束

5. Set default方式

解析器认识这个action,但Innodb不能识别,不知道是什么意思... 
  
   注意:trigger不会受外键cascade行为的影响,即不会解发trigger

转载于:https://www.cnblogs.com/kinwing/p/11102244.html

Mysql中外键的 Cascade ,NO ACTION ,Restrict ,SET NULL相关推荐

  1. Mysql中外键作用以及Navicat建立外键失败总结

    本文摘自参考三篇文章,从这篇文章中将了解到外键作用以及navicat建立外键常见错误解决,帮助读者更加深刻了解外键. 文章目录 一.外键的作用 二. 不设置外键行不行? 三.那到底使不使用外键? 四. ...

  2. MySQL 中外键与使用详解

    外键字段必须先是一个索引,否则将会先创建索引,然后才能创建外键. 如果外键字段为混合键值其中一个,需要为该字段建立单独索引.删除的时候必须先删除外键,才能删除索引. 子表中外键字段数据要么为null, ...

  3. MySQL中外键的定义、作用、添加和删除

    1 简介 在实际开发的项目中,一个健壮数据库中的数据一定有很好的参照完整性.例如学生档案和成绩单两张表,如果成绩单中有张三的成绩,学生档案中张三的档案却被删除了,这样就会产生垃圾数据或者错误数据.为了 ...

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

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

  5. mysql中外键的作用是什么_mysql外键基本功能与用法详解

    本文实例讲述了mysql外键基本功能与用法.分享给大家供大家参考,具体如下: 本文内容: 什么是外键 外键的增加 外键的修改和删除 外键的约束模式 首发日期:2018-04-12 什么是外键: 外键就 ...

  6. 关于mysql中外键关联的一些个人理解

    在我看来hibernate最麻烦的一件事就是配置外键关联,稍微不慎就会出现配置错误的情况,现在的项目全部都是在使用mybaits,而mybaits使用就简单的多,起码虽然说是要自己写mysql语句,但 ...

  7. MySQL中外键定义级展现结果_MySQL高频面试60题含答案

    在Java技术面试中,高频常问到的一些MySQL面试题,整理分享给大家,既可用来准备技术面试,也可以作为MySQL知识点梳理.温顾而知新.建议了解.收藏备用. Mysql中有哪几种锁? 1.表级锁:开 ...

  8. mysql中外键总结_mysql外键的一些总结

    外键作用:①可以让数据表不至于太过冗余: ②可以保持数据的一致性(当主表不存在对于的外键时,从表进行的增删操作无效): ③让数据库自动控制插入数据的合法性 外键规则:① 主键和外键数据类型需系统并且为 ...

  9. mysql 外部键约束名_MySQL中外键的创建、约束以及删除

    前言 在MySQL 3.23.44版本后,InnoDB引擎类型的表支持了外键约束. 外键的使用条件: 1.两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以后的版本有可能支持,但至少目前 ...

最新文章

  1. 加速mysql导入时间_加快mysql导入导出速度
  2. 微生物环境因子分析(RDA/db-RDA)-ggvegan包
  3. mysql 同机做主从
  4. 代码这样写更优雅(Python版)
  5. Quick BI助力云上大数据分析---深圳云栖大会
  6. 汽车之家店铺数据抓取 DotnetSpider实战
  7. [luoguP2331] [SCOI2005]最大子矩阵(DP)
  8. wps生成正态分布的随机数_量子计算与机器学习: 量子生成对抗网络QGAN
  9. mybatisplus项目搭建
  10. html动态创建table不成功的一个问题
  11. 数据结构课程设计c语言运动会管理系统
  12. 音乐播放微信小程序基于node.js后台
  13. 在php中使用for、while、do-while循环实现从1加到100
  14. Flash 声音频谱图一
  15. 基于微信小程序的网上购物系统的设计与实现.pdf
  16. dwg文件打开的步骤具体是什么
  17. 学生信息管理系统报告
  18. linu系统中dhcp的搭建
  19. gin-vue-admin 使用docker容器中的数据库
  20. 做程序员,需要学习哪些专业知识?

热门文章

  1. android内存测试方法,Android内存测试方法.doc
  2. 【王道操作系统笔记】操作系统的四个特征
  3. LeetCode 701 二叉搜索树中的插入操作
  4. Media Player Classic - HC 源代码分析 6:MediaInfo选项卡 (CPPageFileMediaInfo)
  5. win10查询计算机ip和用户名和密码,Win10系统查询计算机IP子网掩码和默认网关设置教程...
  6. Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4
  7. @RequestParam @RequestBody @PathVariable 等参数绑定
  8. 搭建Sublime Text3 Java编译运行环境
  9. 2021 年百度之星·程序设计大赛 - 复赛 1001 Palindrome(结论,奇偶性)
  10. Codeforces比赛规则梳理