mysql 字段约束
来源:互联网 发布:网络翻唱歌手 编辑:程序博客网 时间:2024/06/16 21:52
5.6 操作表的约束 80
5.6.1 MySQL支持的完整性约束 81
5.6.2 设置非空约束(NOT NULL,NK) 81
5.6.3 设置字段的默认值(DEFAULT) 82
5.6.4 设置唯一约束(UNIQUE,UK) 84
5.6.5 设置主键约束(PRIMARY KEY,PK) 85
5.6.6 设置字段值自动增加(AUTO_INCREMENT) 88
5.6.7 设置外键约束(FOREIGN KEY,FK) 89
一、外键约束和要求
1.父表和子表必须使用相同的存储引擎,而且禁止使用临时表;
2.数据表的存储引擎只能为InnoDB
3.外键列和参照列必须有相似的数据类型。其中数字的长度或是否有符号位必须相同;而且字符的长度则可以不同;
4.外键列和参照列必须创建索引。如果外键列不存在索引的话,mysql将自动创建索引
*物理外键和逻辑外键
只有InnoDB才支持物理外键,平时的设计中是很少定义物理外键约束的,而是按照表与表之间的逻辑关系来定义逻辑外键,不设置物理外键
二、外键约束的参照操作
1.CASCADE:从父表中删除或者更新且自动删除或更新子表中匹配的行
删除:删除主表时自动删除从表。删除从表,主表不变
更新:更新主表时自动更新从表。更新从表,主表不变
2.SET NULL:从父表删除或更新行,并设置了子表中的外键列为NULL,如果使用该选项,必须保证子表列没有指定NOT NULL
删除:删除主表时自动更新从表值为NULL。删除从表,主表不变
更新:更新主表时自动更新从表值为NULL。更新从表,主表不变
3.RESTRICT:拒绝对父表的删除或更新操作
4.NO ACTION:标准SQL的关键字,在mysql中与RESTRICT相同
NULL、RESTRICT、NO ACTION
删除:从表记录不存在时,主表才可以删除。删除从表,主表不变
更新:从表记录不存在时,主表才可以更新。更新从表,主表不变
三、创建外键命令
明确指定外键的名称:alter table book add constraint FK_BOOK foreign key(pubid) references pub_com(id) on delete restrict(CASCADE,SET NULL) on update restrict(CASCADE,SET NULL) ;
- MySQL字段约束
- mysql字段约束
- MySQL 字段属性(约束)
- mysql 字段约束
- mysql 字段添加唯一性约束
- mysql中的列属性(字段约束)
- MySQL入门--字段的唯一约束UNIQUE
- MySQL中的表、字段的约束修改
- mysql 字段添加唯一性约束
- MySQL中字段的数据类型和约束
- MySQL 某字段唯一约束其他字段差异忽略查询
- 约束字段
- 字段约束
- 学习mysql(1) mysql中表,字段,约束的简单操作
- MYSql对外键约束及字段的一些操作
- MySQL 字段约束 null, not null, default, auto_increment
- MySQL的完整性约束之:域(字段)完整性
- Mysql为已有字段设置唯一约束
- 网易双核编程,python
- JS学习笔记
- 动态代理简单讲解
- java基础知识(3)----正则表达式
- java中的nextInt(),next()和nextLine()
- mysql 字段约束
- 关于一些Java的小技巧
- Glide图片加载框架基础篇二
- Centos7安装Kibana及配置
- 多线程同步概念
- 我是如何快速搭建swagger,并自定义修改逻辑代码
- request.getParameter()中文乱码
- JQuery学习笔记
- libdecodeqr库不能识别大角度二维码问题解决