Mysql中外键的 Cascade ,NO ACTION ,Restrict ,SET NULL详解数据库
2023-06-13 09:20:11 时间
外键约束对子表的含义:
如果在父表中找不到候选键,则不允许在子表上进行insert/update
在父表上进行update/delete以更新或删除在子表中有一条或多条对应匹配行的候选键时,父表的行为取决于:在定义子表的外键时指定的on update/on delete子句, InnoDB支持5种方式, 分列如下
在父表上update/delete记录时,同步update/delete掉子表的匹配记录
On delete cascade从mysql3.23.50开始可用; on update cascade从mysql4.0.8开始可用
在父表上update/delete记录时,将子表上匹配记录的列设为null
要注意子表的外键列不能为not null
On delete set null从mysql3.23.50开始可用; on update set null从mysql4.0.8开始可用
如果子表中有匹配的记录,则不允许对父表对应候选键进行update/delete操作
这个是ANSI SQL-92标准,从mysql4.0.8开始支持
同no action, 都是立即检查外键约束
解析器认识这个action,但Innodb不能识别,不知道是什么意思...
注意:trigger不会受外键cascade行为的影响,即不会解发trigger
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/4777.html
mysql相关文章
- 计算MySQL中的经纬度距离(mysql经纬度距离)
- MySQL中如何重命名数据库(mysql重命名数据库)
- 1024MySQL:追求更小的数据库(mysql小于)
- 教你如何在MySQL中创建数据表(mysql数据库中创建表)
- MySQL数据库的建立步骤——详细分解25步骤(mysql建数据库步骤)
- 如何在XP 32位操作系统中安装MySQL数据库?(mysqlxp32)
- MySQL优化:构建高性能内存数据库(mysql内存数据库)
- MySQL不区分大小写: 展示灵活配置(mysql不区分大小写设置)
- 轻松设置PHP连接MySQL数据库(php设置连接mysql)
- MySQL历史版本下载:获取旧版MySQL数据库软件(mysql历史版本下载)
- MySQL数据库受到攻击,数据不再安全!(mysql数据库攻击)
- MySQL数据库:一个综合介绍及使用指南(mysql大全)
- C云端MySQL简单便捷的数据库云管理(c 云端mysql)
- MySQL数据库中db的全称是什么(mysql中db的全称)
- MySQL数据库的Axios连接实现Web端实时性数据更新(axios连接mysql)
- 512M内存轻松运行MySQL数据库(512内存 mysql)
- MySQL数据查询开启属于你的数据旅程(03 mysql数据查询)
- MySQL实现三个月分区管理(mysql三个月分区)
- MySQL数据库常用操作全面介绍(mysql一些常用操作)
- 学习使用 MySQL PDO 扩展优化 PHP 数据库操作(mysql_pdo 扩展)
- 使用yum轻松下载MySQL数据库安装包(mysql yum下载)
- MySQL不允许屏蔽数据库操作中的常见错误(mysql 不允许)
- 探究MySQL的高可靠性从数据存储性能到安全不低于行业标准(mysql不低于)
- MySQL 空字段查询找出不为空的字段名(mysql不为空字段名)
- MySQL下载免费还是收费25字看懂MySQL下载方式(mysql 下载要钱吗)