MySQL外键约束On Delete和On Update的使用
2024-09-05 14:46:12
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的区别:只有在及个别的情况下会导致区别,前者是在其他约束的动作之后执行,后者具有最高的优先权执行。
最新文章
- [Java] JSP笔记 - 自定义标签
- Spring操作指南-IoC基础环境配置(基于注解手动装配)
- 1、Linux驱动重要的数据结构
- java-读取类中的属性名称和值
- 关于学习是UIWebView的一些思考
- linux命令合集
- HierarchyRequestError:Node cannot be inserted at the specified point in the hierarchy
- RESTful架构详解(转)
- fedora 安装python mysql
- C# DBNULL与NULL之间的区别【转】
- 安装GeoIP数据库
- js 时间戳转为日期格式
- iOS获取ipa素材、提取ipa包资源文件
- Android开发学习之路--Camera之初体验
- 前端异步技术之Promise
- 团体程序设计天梯赛(CCCC) L3021 神坛 的一些错误做法(目前网上的方法没一个是对的) 和 一些想法
- NOIP-玩具谜题
- java多线程高并发知识总结
- c++中thread的死法
- Python发送QQ邮件
热门文章
- linux基本篇--入门成神之路
- 2. Java入门
- MySQL 8.0无法通过Navicat远程连接 1045 - Access denied for user 'root'@'::1' (using password: YES) 的解决办法
- DirectX11 With Windows SDK--37 延迟渲染:光源剔除
- 如何写好B端产品的技术方案?
- ArcMap操作随记(3)
- 安装Win7与Ubuntu16.04双系统操作教程
- K8S原来如此简单(五)Metrics Server与HPA
- LCT板子
- 利用多个sem信号量在线程通讯