PostgreSQL

时间:2017-12-07 19:45:33

标签: arrays postgresql constraints varchar

在PostgreSQL 10.1中,我创建了下表:

CREATE TABLE nationality_cumulative_criteria
(
    id             smallint NOT NULL,
    country_set    character varying(2)[] NOT NULL,
    number         smallint NOT NULL
);

我希望添加一个约束(排除),例如,“US”不会出现在不同的元组中,只能在一个元组中出现。

我已经检查并发现只有范围和功能的情况,但没有字符元素数组。

蒂亚

1 个答案:

答案 0 :(得分:0)

要完全按照您的说法行事,请执行以下操作:

 create unique index on nationality_cumulative_criteria 
 (('US'=any(country_set)))
 where 'US'=any(country_set);

这将允许'US'(特别是)仅在整个表格中使用一次