-
唯一键是何方神圣?
所谓的唯一键,也可以使数据不会重复,但是和主键不一样的是 唯一键 不是用来区分数据的,主键大多数是和其他的表或数据库有关联的,比如,在大学时,学生证号作为主键,它存放在各个表中,餐厅消费记录,学校教务处,宿舍信息 …如果想查一个学生的所有信息,只需打开各个表输入学生证号,这样与之匹配的信息全部出现。然而,唯一键和其他的表基本没关联,只在当前这一张表里发光发热。 -
它和主键有啥子区别?
-
主键不能为空,但是唯一键可以为空。
-
一个表里只能有一个主键,但是可以有多个唯一键。
-
主键可能和其它表有关联,唯一键不会,就在当前的表瞎折腾
-
它有啥用?
用处:只有一个那就是保证其对应的数据不能重复,比如,把QQ号作为唯一键,保证了其不会重复,但是作为主键不太合理,毕竟,有的人没有QQ号,拿它去和别人区别并不合适。 -
如何添加它?
- 添加唯一键的方式,举个例
create table person(
id int primary key,
name varchar(20),
phone varchar(15) unique
);
- 输入:
decs person;
,可以看到 id 不可以为空,但是作为唯一键的 phone 可以
- 也可以后期添加唯一键,比如把上表中的 name 变成唯一键,输入:
alter table person add unique(name);
- 如何干掉它?
说干就干,对上一张表而言,将唯一键 name 删除,输入:alter table person drop index name;