问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

感觉不到mysql的外键update cascade有啥作用,请教...

发布网友 发布时间:2022-04-08 03:15

我来回答

1个回答

热心网友 时间:2022-04-08 04:44

您好,外键约束对子表的含义:
如果在父表中找不到候选键,则不允许在子表上进行insert/update

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

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

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

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

. Restrict方式
同no action, 都是立即检查外键约束

. Set default方式
解析器认识这个action,但Innodb不能识别,不知道是什么意思...

注意:trigger不会受外键cascade行为的影响,即不会解发trigger

在mysql中,与SQL标准相违背的三点
1. 如果在父表中有多个key值相同,那么在进行外键check时,会当成有相同key值的其他行不存在; 比如当定义了一个restrict行为外键时,一个子表行对应到多个父表行(具有相同key值), Innodb不允许删除父表上的所有这些行

2. 父子表是同一个表,自我参照时不允许指定on update cascade, on update set null
从mysql4.0.13开始,允许同一个表上的on delete set null
从mysql4.0.21开始,允许同一个表上的on delete cascade
但级联层次不能超出15

3, Innodb在检查unique,constraint约束时,是row by row而不是语句或事务结束;
SQL标准中对constraint的检查是在语句执行完成时
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 对人的身心发展起主导作用的是 在人的发展中起主导作用的是 影响人发展的主要因素简答 打算买个3000多的笔记本电脑 能玩游戏的 鲁大师跑分10万左右就可以 哪个机子好? 笔记本i7 4702跑分多少 神舟战神G7CT7NA拆机显卡跑分只有10万而且硬件检测看不出来牌子 跑分10w到8w左右的笔记本电脑尽量要便宜质量要好 跑分10万的笔记本怎么样 鲁大师跑分10万的电脑能卖多钱 请问我这电脑10万跑分可以玩什么游戏,我怎么玩LOL会卡! 跑分十万的笔记本电脑快吗 跑分上10万的笔记本有哪些? 哪里有关于论文的开题报告doc格式的模板 开题报告模板是word文档还是ppt格式啊 求一篇翻译类论文的开题报告 英文的 英文论文开题报告写作技巧 写一个英文论文开题报告 mysql有外键约束的表无法联级删除? 血是黑色的是什么原因 为什么我永恒戒指也有 卡拉波传送黑庙的项链也有(141等级 紫色的),伊利达雷的战袍也有,就阿达尔之手没 影响身心发展的4个因素 影响人的发展的因素有哪些?它们各自在人的发展中起什么作用 影响人体发展的主要因素是? 影响人格发展的因素有哪些 影响人身心发展的因素有哪些? 影响人身心发展的因素有哪些?各起何作用? 在人的身心发展中起主导作用的因素是 简述影响个体身心发展的主要因素 影响全球人类发展的主要因素有哪些 在影响人身心发展的诸因素中起主导作用的是 简述影响人的身心发展的主要因素要怎么写? 影响人的发展的因素很多,其中___是主导。( ) 第22课寓言四则的翻译是什么? 初中课文寓言四则翻译 寓言四则杞人忧天原文及翻译 寓言四则的主旨 《打井得一人》这个寓言讲了什么道理? 求闻之若此,不若无闻也的若是什么意思? 七年级上册22课寓言四则 部编人教版七年级上册语文 第22课 寓言四则