MySQL|RESTRICT|NO ACTION|CASCADE| SET NULL四种外键约束
外键约束比较多得两种情况: 
1.父表更新时子表也更新,父表删除时如果子表有匹配的项,删除失败;
ON UPDATE CASCADE ON DELETE RESTRICT- 1
2.父表更新时子表也更新,父表删除时子表匹配的项也删除;
ON UPDATE CASCADE ON DELETE CASCADE- 1
上一次遇到无法插入已经关联外键表的原因就是: **如果子表试图创建一个在父表中不存在的外键值,InnoDB会拒绝任何INSERT或UPDATE操作。**InnoDB是支持外键约束引擎类型。
RESTRICT:拒绝删除或者更新父表。指定RESTRICT(或者NO ACTION)和忽略ON DELETE或者ON UPDATE选项的效果是一样的
NO ACTION:InnoDB拒绝删除或者更新父表
CASCADE: 从父表中删除或更新对应的行,同时自动的删除或更新自表中匹配的行。ON DELETE CANSCADE和ON UPDATE CANSCADE都被InnoDB所支持
SET NULL:从父表中删除或更新对应的行,同时将子表中的外键列设为空。注意,这些在外键列没有被设为NOT NULL时才有效。ON DELETE SET NULL和ON UPDATE SET SET NULL都被InnoDB所支持。
外键使用需要满足的条件: 
1. 两张表必须都是InnoDB表,并且它们没有临时表。 
2. 建立外键关系的对应列必须具有相似的InnoDB内部数据类型。 
3. 建立外键关系的对应列必须建立了索引。
MySQL|RESTRICT|NO ACTION|CASCADE| SET NULL四种外键约束的更多相关文章
- 总结mysql的三种外键约束方式
		如果表A的主关键字是表B中的字段,则该字段称为表B的外键,表A称为主表,表B称为从表.外键是用来实现参照完整性的,不同的外键约束方式将可以使两张表紧密的结合起来,特别是修改或者删除的级联操作将使得日常 ... 
- MySQL的四种外键
		来自:某一位网友的博客 转自:http://blog.csdn.net/cnjsnt_s/article/details/5548280 具体使用时需要参考:http://blog.csdn.n ... 
- Mysql学习笔记(八)由触发器回顾外键约束中的级联选项
		近些天都没有写博客.在学习mysql的知识,通过学习和练习,也熟悉了mysql的函数.触发器.视图和存储过程.并且在实际的开发过程中也应用了一小部分.效果还是十分理想的. 今天晚上在学习触发器模仿in ... 
- Mysql 使用delete drop truncate 删除数据时受外键约束影响解决方案
		先禁用数据库的外键约束: set foreign_key_checks=0; 进行删除操作 delete.drop.truncate 恢复数据库外键约束: set foreign_key_checks ... 
- MySQL外键约束_ON DELETE CASCADE/ON UPDATE CASCADE
		MySQL通过外键约束实现数据库的参照完整性,外键约束条件可在创建外键时指定,table的存储引擎只能是InnoDB,因为只有这种存储模式才支持外键. 外键约束条件有以下4种: (1)restrict ... 
- MYSQL外键约束的参照操作
		如果表A的主关键字是表B中的字段,则该字段称为表B的外键,表A称为主表,表B称为从表.外键是用来实现参照完整性的,不同的外键约束方式将可以使两张表紧密的结合起来,特别是修改或者删除的级联操作将使得日常 ... 
- mysql外键约束总结
		总结三种MySQL外键约束方式 如果表A的主关键字是表B中的字段,则该字段称为表B的外键,表A称为主表,表B称为从表.外键是用来实现参照完整性的,不同的外键约束方式将可以使两张表紧密的结合起来,特别是 ... 
- MySQL数据库有外键约束时使用truncate命令的办法
		MySQL数据库操作中,Delete与Truncate两个命令都可以删除一个数据表中的全部数据,使用办法分别是: DELETE FROM t_question TRUNCATE TABLE t_que ... 
- SET FOREIGN_KEY_CHECKS=0;在Mysql中取消外键约束
		Mysql中如果表和表之间建立的外键约束,则无法删除表及修改表结构. 解决方法是在Mysql中取消外键约束: SET FOREIGN_KEY_CHECKS=0; 然后将原来表的数据导 ... 
随机推荐
- cogs 330. [NOI2003] 文本编辑器
			★★★ 输入文件:editor2003.in 输出文件:editor2003.out 简单对比 时间限制:2 s 内存限制:128 MB [问题描述] 很久很久以前,DOS3.x的程序 ... 
- Python3基础 setattr 设置对象的属性值,如果属性不存在就创建
			Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ... 
- JavaScript:Array属性方法
			,,,,]; console.dir(arr); var pro=Object.getPrototypeOf(arr); console.dir(pro); 来一个个的查看数组的属性,方法 1.Arr ... 
- zedgraph右键菜单的汉化
			http://blog.csdn.net/jeryler/article/details/7876376 修改 zedGraphControl的ContextMenuBuilder事件即可! zedG ... 
- 【附5】springboot之配置文件
			本文转载自http://www.jianshu.com/p/80621291373b,作者:龙白一梦 我的boss 代码从开发到测试要经过各种环境,开发环境,测试环境,demo环境,线上环境,各种环境 ... 
- Android Studio Design界面不显示layout控件的解决方法
			发现更改了 layout里面的xml文件后 切换到design后,没有显示控件 解决方法 解决办法: 在 res/values/styles.xml 文件中 将原有的 前面添加 Base. The ... 
- [luogu 3957]跳房子
			题目链接 50分做法 挺显然的一个做法,因为金币量是单调的(如果你花i枚金币可以得到最优解,i+1枚也一定可以),所以可以二分答案 然后对于二分出来的每个答案,都做一遍dp,效率$O(n^2logn) ... 
- 论文笔记—Flattened convolution neural networks for feedforward acceleration
			1. 论文思想 一维滤过器.将三维卷积分解成三个一维卷积.convolution across channels(lateral), vertical and horizontal direction ... 
- [Pytorch]Pytorch中tensor常用语法
			原文地址:https://zhuanlan.zhihu.com/p/31494491 上次我总结了在PyTorch中建立随机数Tensor的多种方法的区别. 这次我把常用的Tensor的数学运算总结到 ... 
- Ubuntu 14.04 下 OF-Config安装
			参考: Github of-config configure.ac - configure file issue OF-Config安装 1.安装OvS v2.3.1: Releases $ tar ... 
