是否可以强制执行唯一值以及 postgres 中的唯一列?我正在使用第 11 版。它会是这样的:
状态 = 0 | 商店 = 5
唯一(商店,状态 = 0)
这样,我可以为 store 设置任何值,但是对于每个值,它只能有一个状态为 0 的记录,其余的可以是任何值?我确信这个问题之前已经被问过,但它似乎特定于某些框架,如 django:
或者我只是找不到正确的答案。
我正在使用 loopback4,似乎没有办法在框架中指定它,所以我想在数据库中指定它。更新:为了更加解释:我有一个用户只能拥有一个带有商店的购物车,不能超过一个。每个购物车都有一个 user_id、store_id 和 status。当状态为0时,购物车在进行中,当状态为1时,购物车已订购,当状态为2时,由商店发货。所以我有一张桌子:
id | user_id | store_id | status
...| 1 | 1 | 0
...| 1 | 1 | 1
...| 1 | 1 | 1
以上,很好,应该被允许,但是:
id | user_id | store_id | status
...| 1 | 1 | 0
...| 1 | 1 | 0 <--- Not allowed
...| 1 | 1 | 1
这是不允许的,因为一个用途有多个商店的购物车。所以 status = 0 和 store_id 应该是唯一的。