目录
MySQL——约束(constraint)详解
一、什么是约束
约束英文:constraint
约束实际上就是表中数据的限制条件
二、约束作用
约束的作用就是保证表中的记录完整和有效性
三、约束种类
非空约束(not null)
唯一性约束(uniwue)
主键约束(primary key)
外键约束(foreign key)
检查约束(目前不支持mysql、oracle支持)
四、非空约束
not null约束的字段不能为空,必须给指定具体的数据
创建用户表,用户名不能为空
mysql>create table user(
id int(10),
name varchar()32 not null
);
Query OK, 0 rows affected (0.08 sec)
如果没有插入name字段数据,就会报错
mysql> insert into t_user (id) values(1);
ERROR 1364 (HY000): Field 'name' doesn't have a default value
五、唯一性约束
unique约束的字段,具有唯一性,不可重复,但可以为null创建表,保证邮箱地址唯一(列级约束)
mysql> create table t_user(
-> id int(10),
-> name varchar(32) not null,
-> email varchar(128) unique
-> );
Query OK, 0 rows affected (0.03 sec)
1.表级约束
mysql> create table t_user(
-> id int(10),
-> name varchar(32) not null,
-> email varchar(128),
-> unique(email)
-> );
2.使用表级约束,给多字段联合约束
mysql> create table t_user(
-> id int(10),
-> name varc