组合唯一,一列为null

时间:2017-02-22 19:32:41

标签: sql-server sql-server-2008

我得到了一个表格示例:

create table the_entity
(
 id integer,
 number integer not null,
 chair  integer null,
 primary key(id)
);

我希望列号和椅子的组合是唯一的。柱椅可以为空。这是否可以在不使用过滤索引

的情况下实现

1 个答案:

答案 0 :(得分:1)

过滤索引是执行此操作的唯一方法,并允许多个null用于相同的number。唯一约束/唯一索引将允许每nullnumber

关于dba.stackexchange上类似问题的答案解释了更多:https://dba.stackexchange.com/questions/80514/why-does-a-unique-constraint-allow-only-one-null