我在下表中,除了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)
答案 0 :(得分:0)
使用单独的表,一个您需要唯一的表,并相应地创建主键。第二个表是Id = 7,您可以允许重复