【发布时间】:2012-06-13 12:33:25
【问题描述】:
我想找到一种方法在我的数据库中存储一个主题的多个地址,每个主题只有一个默认地址。
长话短说,假设我们有一张桌子:
CREATE TABLE test
(
id integer NOT NULL,
active boolean NOT NULL,
CONSTRAINT pk_id PRIMARY KEY (id)
)
对于表中的每个id,最多只能有1个真正的活跃值。
我怎样才能做到这一点?
谢谢。
【问题讨论】:
-
实际上你不必做 任何事情,因为
id作为主键使其独一无二,所以 不能 有两行相同的 ID。 -
如果您不想将
id作为主要的,那么您需要编写一个触发器:postgresql.org/docs/9.1/static/sql-createtrigger.html,但这可能不是您想要的。
标签: postgresql constraints unique