我得到了一个表格示例:
create table the_entity
(
id integer,
number integer not null,
chair integer null,
primary key(id)
);
我希望列号和椅子的组合是唯一的。柱椅可以为空。这是否可以在不使用过滤索引?
的情况下实现答案 0 :(得分:1)
过滤索引是执行此操作的唯一方法,并允许多个null
用于相同的number
。唯一约束/唯一索引将允许每null
个number
。
关于dba.stackexchange上类似问题的答案解释了更多:https://dba.stackexchange.com/questions/80514/why-does-a-unique-constraint-allow-only-one-null