Mysql中的Cascade,NO ACTION,Restrict,SET NULL几种功能说明

Mysql中的Cascade,NO ACTION,Restrict,SET NULL
 
外键约束对子表的含义: 
如果在父表中找不到候选键,则不允许在子表上进行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, 都是立即检查外键约束 
 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQLCASCADE是一种外键约束选项,用于指定在父表的行被更新或删除时,子表的相关行应该如何处理。具体来说,CASCADE选项表示当父表的行被更新或删除时,子表的相关行也会被更新或删除。这样可以确保父子表之间的数据一致性。引用\[2\]提到,只有InnoDB引擎类型支持外键约束,而引用\[3\]提到,在外键定义,可以使用ON UPDATE CASCADE ON DELETE CASCADE选项,表示在父表的行被更新或删除时,子表的相关行也会被更新或删除。所以,如果你在MySQL使用CASCADE选项,可以实现在父子表之间的级联更新或删除操作。 #### 引用[.reference_title] - *1* [Mysql实现级联操作(级联更新、级联删除)](https://blog.csdn.net/guanyibei/article/details/82528048)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [mysql cascade|restrict|no action|set null__mysql 外键的几种约束](https://blog.csdn.net/qq_43842093/article/details/122203639)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值