Foreign key 和on delete/update cascade

  • 创建 foreign key步骤
  • on delete/update cascade
  • 示例

创建 foreign key步骤

  • 确立表关系即主表和被关联表

  • 需要先建立被关联表(指定被关联字段唯一)

create table 表名
(字段名 类型 [限定条件],字段名 类型 [限定条件],
);如:
create table deptment
(dep_id int  primary key,dep_name char(20),dep_comment varchar(6)
);
  • 建立主表限定关联表
create table 表名
(字段名 类型 [限定条件],字段名 类型 [限定条件],...关联字段名 类型,foreign key(关联字段名 ) references deptment(depid) on delete cascade on update cascade#指定主表外键字段和关联的被关联表和被关联字段#on delete/update cascade 作用是删除/更新对应关联信息后对应关联表自动删除/更新对应信息 ,不指定则删除/更新被关联表中数据主表不会删除/更新
);如:
create table employee
(emp_id int  primary key,emp_name char(20), emp_comment varchar(255),dep_id int,foreign key(dep_id) references deptment(dep_id) on delete cascade on update cascade
);

on delete/update cascade

  • 用法
请看上面的示例
  • 作用
on delete/update cascade 作用是删除/更新对应关联信息后对应关联表自动删除/更新对应信息

示例

  • 创建表后查看如下:

  • 添加deptment数据
    insert into deptment(dep_id,dep_name,dep_comment) values(1,‘IT’,‘it’);
    insert into deptment(dep_id,dep_name,dep_comment) values(2,‘Sale’,‘sale’);

  • 添加employee 数据
    insert into employee values(1,‘fzl’,‘excellent’,1);
    insert into employee values(2,‘Bob’,‘good’,2);

  • 查看两张表的数据

  • 删除部门2 查看结果


可以看到employee中 dep_id=2的记录自动删除了 哇 amazing

更新也一样 so easy

注:只能是更改/删除被关联表 主表中的记录自动删除/更新 反过来是不成立的


foreign key 和on delete/update cascade用法相关推荐

  1. SQL Server外键中的DELETE CASCADE和UPDATE CASCADE

    In this article, we will review on DELETE CASCADE AND UPDATE CASCADE rules in SQL Server foreign key ...

  2. mysql key constraint_MySQL/InnoDB的外键约束(Foreign Key Constraint)

    MySQL/InnoDB的外键约束(Foreign Key Constraint) SQL外键约束 一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY. FOREIGN KE ...

  3. mysql外键约束cascade_mysql外键约束foreign key ON DELETE CASCADE ON UPDATE CASCADE

    正 文: 一,什么是foreign key,及其完整性 个人觉得,foreign key就是表与表之间的某种约定的关系,由于这种关系的存在,我们能够让表与表之间的数据,更加的完整,关连性更强.关于完整 ...

  4. 表删除时 Cannot delete or update a parent row: a foreign key constraint fails 异常处理

    有两张表,结构如下: t_item: t_bid: id int id int name varchar name varchar item_id int 其中表t_item的主键id是表t_bid的 ...

  5. 4 Flask开发进阶:记下一次级联删除的报错:Cannot delete or update a parent row: a foreign key constraint fails

    中间表 class Permission(object):LOGIN = 0x01EDITOR = 0x02OPERATOR = 0x04ADMINISTER = 0xffPERMISSION_MAP ...

  6. mysql删除有外链索引数据,Cannot delete or update a parent row: a foreign key constraint fails 问题的解决办法

    mysql删除有外链索引数据,Cannot delete or update a parent row: a foreign key constraint fails 问题的解决办法 参考文章: (1 ...

  7. oracle cascade是什么意思啊,Oracle外键(Foreign Key)之级联删除(DELETE CASCADE)

    什么是级联删除(DELETE CASCADE)? 级联删除是指当主表(parent table)中的一条记录被删除,子表中关联的记录也相应的自动删除. 备注:外键字段在该表中为主键的表,即为主表:外键 ...

  8. Oracle之外键(Foreign Key)使用方法具体解释(二)- 级联删除(DELETE CASCADE)

    Oracle外键(Foreign Key)之级联删除(DELETE CASCADE) 目标 演示样例解说怎样在Oracle外键中使用级联删除 什么是级联删除(DELETE CASCADE)? 级联删除 ...

  9. 解决Cannot delete or update a parent row: a foreign key constraint fails的mysql报错

    1 问题 删除有外键关联的数据或者表的时候,mysql出现报错: Cannot delete or update a parent row: a foreign key constraint fail ...

  10. MySQL遇到错误:1217 - Cannot delete or update a parent row: a foreign key constraint fails

    遇到问题 今天在准备"删库跑路"的时候,有的数据表再删除的时候报了以下错误: 1217 - Cannot delete or update a parent row: a fore ...

最新文章

  1. 三十一、Vue框架赶紧来了解一下
  2. Feature Pyramid Networks for Object Detection 总结
  3. 为什么离开学校后,学习能力直线下降?
  4. 前端学习(2968):完善登录页面
  5. MySQL 引擎特性 · InnoDB Buffer Pool
  6. pytreebank︱情感分析可视化——情感结构树
  7. opera mini 7.5安卓改服版
  8. 用java语言写一个实用小程序_用java语言,编写一个小程序。
  9. 学习总结:即时通讯项目里面的语音处理-文件模式录音
  10. css美化浏览器默认滚动条样式
  11. keil4 代码折叠功能的使用
  12. Coupled Layer-wise Graph Convolution for Transportation Demand Prediction
  13. EBS 个性化:个性化简介
  14. 新手好例子图书馆管理系统Python+MySQL+tkinter图形化界面+源码(注释详细)
  15. NLP模型笔记2022-11:CTB5和CTB8数据集预处理 【PennTreebank 和Chinese Treebank】
  16. 对接微信支付之网页支付详解
  17. 【论文阅读】ICLR 2022: Scene Transformer: A unified architecture for predicting future trajectories of ...
  18. 穆利堂[推荐] WxPM信息化整体解决方案-河南郑州房地产工程项目管理系统软件 穆穆-movno1
  19. 删除页面引入的js或者css文件
  20. 功率计和频谱仪测量功率的差异

热门文章

  1. 结构相似度索引(SSIM)全攻略:理论+代码(PyTorch)
  2. Apple Magic Mouse 卡顿的问题
  3. docker常用命令
  4. javascript手册地址
  5. 浅谈人工智能 | 语音识别面面观
  6. 希尔密码_希尔密码| 网络安全
  7. 【丁丁历险记】ESP8266/ESP32做微信遥控语音识别
  8. docker介绍与应用
  9. 百度地图、腾讯地图、高德地图经纬度转换
  10. 2022海亮SC游记