字段属性--唯一键

Posted sun96

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字段属性--唯一键相关的知识,希望对你有一定的参考价值。

唯一键

一张表往往需要很多字段需要具有唯一性,数据不能重复:但是一张表中只能有一个主键:唯一键(unique key)就可以解决表中有多个字段需要唯一性约束的问题
唯一键的本质与主键差不多:唯一键默认的允许自动为空,而且可以多个为空(空字段不参与唯一性比较)

增加唯一键

基本与主键差不多:三种方案

方案一:在创建表的时候,字段之后直接跟unique/unique key


方案2:在所有的字段之后增加unique key (字段列表); -- 复合唯一键


方案3:在创建表之后增加唯一键

 


唯一键约束
唯一键与主键本质相同:唯一的区别是唯一键默认允许为空,而且是多个为空

 

如果唯一键也不允许为空,那么与主键的约束作用是一致的


更新唯一键 & 删除唯一键

更新唯一键:先删除后新增(唯一键可以有多个:可以不删除)

删除唯一键
alter table 表名 drop unique key ; -- 错误:唯一键有多个
alter table 表名 drop index 索引名字 ; -- 唯一键默认的使用字段名作为索引名字

 

 

 

 

 

 

 

以上是关于字段属性--唯一键的主要内容,如果未能解决你的问题,请参考以下文章

字段属性--主键

sql2005中设置字段属性时,如何设标识列(自增1)和必须唯一

postgresql字段值唯一约束

如何使用 Hibernate 获取两个字段的唯一键?

SQLServer主键和唯一约束的区别

涉及字符串字段的唯一键