【发布时间】:2015-03-13 18:32:17
【问题描述】:
Inn PostgreSQL 我想要一个多列 UNIQUE 约束,其中一列可以为 NULL 一次。
到目前为止我已经尝试过:
ALTER TABLE customexternalemail
ADD CONSTRAINT customexternalemail_sp_emaildomain_unique
UNIQUE(serviceproviderid, emailprefix, emaildomainid);
其中serviceproviderid 和emaildomainid 是BIGINT,emailprefix 是TEXT。 emaildomainid 是唯一允许 NULL 的列,也是我遇到问题的列。
基本上,我只想允许一个匹配serviceproviderid、emailprefix 和emaildomainid 组合的条目,其中emaildomainid 可以是BIGINT 值或NULL。目前(具有上述约束),如果emaildomainid 为NULL,它将接受重复,但如果emaildomainid 不为NULL,则它必须是唯一的。
【问题讨论】:
标签: postgresql unique-constraint