MYSQL学习(四)
来源:互联网 发布:90后相亲知乎 编辑:程序博客网 时间:2024/06/06 09:33
约束为了保证数据的完整性及一致性,分为表级约束和列级约束,约束针对一个字段即为列级约束,针对两个及以上字段即为表级约束
约束包括:
主键约束(primary key)、外键约束(foreign key)、唯一约束(unique key)、非空约束(not null)、默认约束(default)
下面来总结一下外键约束:
外键约束:实现数据表的一对一或一对多关系
要求:
父表和子表必须具有相同的存储引擎(innodb),有外键的表称为子表
外键列和参照列必须具有相似的数据类型,其中数字的长度和是否有符号位必须相同,而字符的长度可以不同
外键列和参照列必须有索引,如果外键列没有索引,mysql将自动创建,参照列不会自动创建
插入记录必须先在父表中插入,才能再子表中插入(因为子表需要引用父表中的记录)
外键约束操作 on delete cascade/not null/restrict/no action
cascade:从父表中删除或更新时,自动从子表中删除或更新指定的行
not null:从父表中删除或更新时,将子表中的外键列设为null(要求子表中的外键列在设置时,不能设置为not null)
restrict/no action:拒绝对父表的删除或更新
但在定义表时为了保证数据表在所有的引擎中都可以使用,一般不使用物理外键foreign key来定义。
0 0
- MYSQL学习(四)
- MYSQL学习(四)
- MySQL学习(四)
- MySQL学习(四)
- MySQL学习(四)
- Mysql学习(四)
- MySql学习(四)
- MySQL入门学习(四)
- MySQL入门学习(四)
- MySQL入门学习(四)
- MySQL入门学习(四)
- MySQL学习笔记(四)
- MySQL学习笔记(四)
- MySql学习笔记(四)
- mysql学习之路四(转)
- mysql学习笔记之四(视图)
- 一千行MySQL学习笔记(四)
- MySQL学习笔记(四)--常用函数
- MapReduce 图解流程超详细解答(2)-【map阶段】
- 关于页面中文乱码的一些事
- Android 三种常用XML解析方式:SAX,DOM和PULL
- HDOJ 2013 蟠桃记
- MyBatis传入参数与parameterType
- MYSQL学习(四)
- uva 1611 Crane
- 可取消选择的单选框
- Android SDK Manager更新镜像源
- 初识EL表达式
- ubuntu10 nfs搭建
- C语言基础总结-数据类型(常用)
- JavaScript unescape() 函数详解
- <LeetCode OJ> 152. Maximum Product Subarray