唯一约束——unique
Ⅰ 列约束:每个字段都不能出现重复的数据
drop table if exists studentInfo;
create table studentInfo(
studentID bigint unique, //表约束
name varchar(255) unique //表约束
);
建表成功 :
① 添加 相同ID 不同姓名 的学生记录 ↓↓↓
insert into studentInfo values(202001,'Aimer'),(202001,'Majiko');
添加失败:
ERROR 1062 (23000): Duplicate entry '202001' for key 'studentinfo.stuentID'
② 添加 不同ID 相同姓名 的学生记录 ↓↓↓
insert into studentInfo values(202001,'Amier'),(202002,'Aimer');
添加失败:
ERROR 1062 (23000): Duplicate entry 'Aimer' for key 'studentinfo.name'
③ 添加 不同ID 不同姓名 的学生记录 ↓↓↓
insert into studentInfo values(202001,'Amier'),(202002,'Majiko');
添加成功 ↓↓↓
Ⅱ 表约束:多个字段联合约束,即被约束多个字段不能全部重复
drop table if exists studentInfo;
create table studentInfo(
stuentID bigint unique,
name varchar(255) unique,
unique(studentID,name) //表约束
);
① 添加 不同ID 相同姓名 的学生记录 ↓↓↓
insert into studentInfo values(202001,'Amier'),(202002,'Aimer');
添加成功 ↓↓↓
② 添加 相同ID 相同姓名 的学生记录 ↓↓↓
insert into studentInfo values(202001,'Amier'),(202001,'Aimer');
添加失败:
ERROR 1062 (23000): Duplicate entry '202001-Aimer' for key 'studentinfo.studentID'