一、常见的约束
- PRIMARY KEY:主键,该字段的值不可重复并且非空 unique+not null
- FOREIGN KEY:外键,该字段的值引用了另外的表的字段
- NOT NULL:非空,该字段的值必填
- UNIQUE:唯一,该字段的值不可重复
- DEFAULT:默认,该字段的值不用手动插入有默认值
- CHECK:检查,mysql不支持
二、主键和唯一的异同
- 区别
一个表至多有一个主键,但可以有多个唯一
主键不允许为空,唯一可以为空 - 相同点
都具有唯一性
三、外键
- 用于限制两个表的关系,从表的字段值引用了主表的某字段
- 外键列和主表的被引用列要求类型一致,意义一样,名称无要求
- 主表的被引用要求是一个key(一般就是主键)
- 插入数据,先插入主表;删除数据,先删除从表