【发布时间】:2015-05-21 20:52:33
【问题描述】:
我在下表中,我需要 scientific_name 是唯一的,除非 d_taxlevel_id = 7。然后我需要 scientific_name 和 d_taxgroup_id 是独一无二的。我正在使用 PostgreSQL。感谢您提供的任何帮助。
create table taxon(
taxon_id int not null primary key,
parent_taxon_id int not null references taxon(taxon_id),
scientific_name varchar(100) not null,
d_taxgroup_id int not null references d_taxgroup(d_taxgroup_id),
d_taxlevel_id int not null references d_taxlevel(d_taxlevel_id)
);
when d_taxlevel_id = 7
then
unique_genus_in_taxgroup unique(scientific_name, d_taxgroup_id)
else
unique_non-genus_sciname unique(scientific_name)
【问题讨论】:
标签: unique conditional-statements