【问题标题】:How do I make a variable unique constraint?如何制作变量唯一约束?
【发布时间】:2015-05-21 20:52:33
【问题描述】:

我在下表中,我需要 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)

【问题讨论】:

    标签: unique conditional-statements


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2014-06-20
      • 1970-01-01
      • 2017-03-26
      • 1970-01-01
      • 2022-10-05
      • 2015-03-06
      • 2012-10-27
      • 2019-09-25
      • 2021-01-22
      相关资源
      最近更新 更多