在PostgreSQL 10.1中,我创建了下表:
CREATE TABLE nationality_cumulative_criteria
(
id smallint NOT NULL,
country_set character varying(2)[] NOT NULL,
number smallint NOT NULL
);
我希望添加一个约束(排除),例如,“US”不会出现在不同的元组中,只能在一个元组中出现。
我已经检查并发现只有范围和功能的情况,但没有字符元素数组。
蒂亚
答案 0 :(得分:0)
要完全按照您的说法行事,请执行以下操作:
create unique index on nationality_cumulative_criteria
(('US'=any(country_set)))
where 'US'=any(country_set);
这将允许'US'(特别是)仅在整个表格中使用一次