On Delete和On Update都有Restrict,No Action, Cascade,Set Null属性。现在分别对他们的属性含义做个解释。

  • ON DELETE

restrict(约束):当在父表(即外键的来源表)中删除对应记录时,首先检查该记录是否有对应外键,如果有则不允许删除。

no action意思同restrict.即如果存在从数据,不允许删除主数据。

cascade(级联)当在父表(即外键的来源表)中删除对应记录时,首先检查该记录是否有对应外键,如果有则也删除外键在子表(即包含外键的表)中的记录。

set null当在父表(即外键的来源表)中删除对应记录时,首先检查该记录是否有对应外键,如果有则设置子表中该外键值为null(不过这就要求该外键允许取null)

  • ON UPDATE

restrict(约束):当在父表(即外键的来源表)中更新对应记录时,首先检查该记录是否有对应外键,如果有则不允许更新。

no action意思同restrict.

cascade(级联)当在父表(即外键的来源表)中更新对应记录时,首先检查该记录是否有对应外键,如果有则也更新外键在子表(即包含外键的表)中的记录。

set null当在父表(即外键的来源表)中更新对应记录时,首先检查该记录是否有对应外键,如果有则设置子表中该外键值为null(不过这就要求该外键允许取null)。

注:NO ACTION和RESTRICT的区别:只有在及个别的情况下会导致区别,前者是在其他约束的动作之后执行,后者具有最高的优先权执行。

最新文章

  1. [Java] JSP笔记 - 自定义标签
  2. Spring操作指南-IoC基础环境配置(基于注解手动装配)
  3. 1、Linux驱动重要的数据结构
  4. java-读取类中的属性名称和值
  5. 关于学习是UIWebView的一些思考
  6. linux命令合集
  7. HierarchyRequestError:Node cannot be inserted at the specified point in the hierarchy
  8. RESTful架构详解(转)
  9. fedora 安装python mysql
  10. C# DBNULL与NULL之间的区别【转】
  11. 安装GeoIP数据库
  12. js 时间戳转为日期格式
  13. iOS获取ipa素材、提取ipa包资源文件
  14. Android开发学习之路--Camera之初体验
  15. 前端异步技术之Promise
  16. 团体程序设计天梯赛(CCCC) L3021 神坛 的一些错误做法(目前网上的方法没一个是对的) 和 一些想法
  17. NOIP-玩具谜题
  18. java多线程高并发知识总结
  19. c++中thread的死法
  20. Python发送QQ邮件

热门文章

  1. linux基本篇--入门成神之路
  2. 2. Java入门
  3. MySQL 8.0无法通过Navicat远程连接 1045 - Access denied for user 'root'@'::1' (using password: YES) 的解决办法
  4. DirectX11 With Windows SDK--37 延迟渲染:光源剔除
  5. 如何写好B端产品的技术方案?
  6. ArcMap操作随记(3)
  7. 安装Win7与Ubuntu16.04双系统操作教程
  8. K8S原来如此简单(五)Metrics Server与HPA
  9. LCT板子
  10. 利用多个sem信号量在线程通讯