唯一约束——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'
本文探讨了SQL中的唯一约束,包括列约束和表约束。列约束确保每个字段的值都是唯一的,而表约束则允许通过多个字段的组合来确保数据的唯一性。举例说明了在尝试插入重复数据时的不同结果。
3924

被折叠的 条评论
为什么被折叠?



