foreign key 和on delete/update cascade用法
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用法相关推荐
- SQL Server外键中的DELETE CASCADE和UPDATE CASCADE
In this article, we will review on DELETE CASCADE AND UPDATE CASCADE rules in SQL Server foreign key ...
- mysql key constraint_MySQL/InnoDB的外键约束(Foreign Key Constraint)
MySQL/InnoDB的外键约束(Foreign Key Constraint) SQL外键约束 一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY. FOREIGN KE ...
- mysql外键约束cascade_mysql外键约束foreign key ON DELETE CASCADE ON UPDATE CASCADE
正 文: 一,什么是foreign key,及其完整性 个人觉得,foreign key就是表与表之间的某种约定的关系,由于这种关系的存在,我们能够让表与表之间的数据,更加的完整,关连性更强.关于完整 ...
- 表删除时 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的 ...
- 4 Flask开发进阶:记下一次级联删除的报错:Cannot delete or update a parent row: a foreign key constraint fails
中间表 class Permission(object):LOGIN = 0x01EDITOR = 0x02OPERATOR = 0x04ADMINISTER = 0xffPERMISSION_MAP ...
- 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 ...
- oracle cascade是什么意思啊,Oracle外键(Foreign Key)之级联删除(DELETE CASCADE)
什么是级联删除(DELETE CASCADE)? 级联删除是指当主表(parent table)中的一条记录被删除,子表中关联的记录也相应的自动删除. 备注:外键字段在该表中为主键的表,即为主表:外键 ...
- Oracle之外键(Foreign Key)使用方法具体解释(二)- 级联删除(DELETE CASCADE)
Oracle外键(Foreign Key)之级联删除(DELETE CASCADE) 目标 演示样例解说怎样在Oracle外键中使用级联删除 什么是级联删除(DELETE CASCADE)? 级联删除 ...
- 解决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 ...
- MySQL遇到错误:1217 - Cannot delete or update a parent row: a foreign key constraint fails
遇到问题 今天在准备"删库跑路"的时候,有的数据表再删除的时候报了以下错误: 1217 - Cannot delete or update a parent row: a fore ...
最新文章
- 三十一、Vue框架赶紧来了解一下
- Feature Pyramid Networks for Object Detection 总结
- 为什么离开学校后,学习能力直线下降?
- 前端学习(2968):完善登录页面
- MySQL 引擎特性 · InnoDB Buffer Pool
- pytreebank︱情感分析可视化——情感结构树
- opera mini 7.5安卓改服版
- 用java语言写一个实用小程序_用java语言,编写一个小程序。
- 学习总结:即时通讯项目里面的语音处理-文件模式录音
- css美化浏览器默认滚动条样式
- keil4 代码折叠功能的使用
- Coupled Layer-wise Graph Convolution for Transportation Demand Prediction
- EBS 个性化:个性化简介
- 新手好例子图书馆管理系统Python+MySQL+tkinter图形化界面+源码(注释详细)
- NLP模型笔记2022-11:CTB5和CTB8数据集预处理 【PennTreebank 和Chinese Treebank】
- 对接微信支付之网页支付详解
- 【论文阅读】ICLR 2022: Scene Transformer: A unified architecture for predicting future trajectories of ...
- 穆利堂[推荐] WxPM信息化整体解决方案-河南郑州房地产工程项目管理系统软件 穆穆-movno1
- 删除页面引入的js或者css文件
- 功率计和频谱仪测量功率的差异