组合唯一约束

Posted RainDream

tags:

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

UNIQUE约束要求,对于列或列组合而言,表中每行的值必须是不同的。
UNIQUE约束的怪异之处在于,可以在键列输入NULL值。在键列中,可能有任意数量的包含NULL值得行。
UNIQUE约束通过索引来实施。在定义UNIQUE约束时,Oracle将查看键列上的索引,如果不存在,就创建一个。
索引(称为B*树索引)的结构不包含NULL值,正因为如此,才允许出现多个包含null的行。
选择 WHERE key_column is NULL不使用索引(因为索引不包含NULL),因此总是导致扫描整个表。

所以说组合唯一约束的列可以全为空或某几个为空,列是否能为空是由not null约束决定的。

以上是关于组合唯一约束的主要内容,如果未能解决你的问题,请参考以下文章

针对值组合设置唯一约束

主键约束是啥和啥组合?

两个外键的唯一约束始终是不同的组合

我可以向 MySQL 中的列组合添加唯一约束吗? [复制]

postgresql----数据库表约束----UNIQUE

mysql约束