对于在另一列上具有相同值的行的列值的唯一约束

时间:2018-01-30 17:23:10

标签: postgresql

sample_table成为以下postgres 9.6.6表:

CREATE TABLE sample_table (
    col_a integer,
    col_b integer
);

是否可以向sample_table添加约束,以确保在col_b=42的每一行上,col_a上没有值出现两次?

1 个答案:

答案 0 :(得分:1)

您可以添加条件索引(可以转换为约束,但 的工作):

 CREATE UNIQUE INDEX ON sample_table(col_a)
 WHERE col_b=42;

我希望col_a为NOT NULL