Postgresql 表上的条件唯一约束?
我有这张桌子:Postgresql 表上的条件唯一约束?,postgresql,constraints,unique-constraint,exclusion-constraint,Postgresql,Constraints,Unique Constraint,Exclusion Constraint,我有这张桌子: CREATE TABLE mitg.tbl_gch_customers ( pe character varying(10)NOT NULL, name character varying NOT NULL, city character varying, address character varying NOT NULL, state character varying, zip character varying ,
CREATE TABLE mitg.tbl_gch_customers (
pe character varying(10)NOT NULL,
name character varying NOT NULL,
city character varying,
address character varying NOT NULL,
state character varying,
zip character varying ,
country character varying,
phone character varying,
"primary" character(1) NOT NULL
)
如何添加约束以确保将唯一行定义为唯一的
pe
“identifier”和“primary”
=“Y”?换句话说,“primary”
客户行对于每个pe
编号只能有一个标记为“Y”的行。但此约束必须允许多个“primary”
=“N”个客户拥有相同的pe
号码。这样做可以回答您的问题:在mitg.tbl\u gch\u客户(pe)中(“primary”=“Y”)使用为“primary\u”客户创建唯一索引解决问题吗代码>?旁白:“primary”实际上不应该用作列名,因为它是一个。类型可能应该是boolean
,而不是char(1)
。