【问题标题】:Postgres: Unique constrain on Column-A, Column-B [value1]Postgres:Column-A,Column-B [value 1] 上的唯一约束
【发布时间】:2020-03-02 17:42:05
【问题描述】:

我有一张表applications,其中包含user_idstatus 等字段。 status 可以是 [0,1,2]

我需要施加一个约束,即在应用程序表中,0 状态中不能有多个具有相同user_id 的行。然而,可能有多个行具有user_id 的状态12

为了证明,这是不允许的:

user_id | status
abc     | 0
abc     | 0

但是,这是允许的:

user_id | status
abc     | 1
abc     | 1

如何施加这样的约束?我正在使用 Postgres。

【问题讨论】:

    标签: postgresql constraints unique-constraint


    【解决方案1】:

    您可以为此使用过滤的唯一索引:

    create unique index on applications (user_id)
    where status = 0;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多