如何创建变量唯一约束?

时间:2015-05-21 20:52:33

标签: unique conditional-statements

我在下表中,除了scientific_name之外,我需要d_taxlevel_id = 7是唯一的。然后我需要scientific_named_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)

1 个答案:

答案 0 :(得分:0)

使用单独的表,一个您需要唯一的表,并相应地创建主键。第二个表是Id = 7,您可以允许重复