postgresql 特定值的唯一约束

luaexgnf  于 2022-12-18  发布在  PostgreSQL
关注(0)|答案(1)|浏览(111)

我在PostgreSQL数据库中有一个类似这样的表来表示办公桌的预订系统。员工每天可以预订一张table(seat_id)。
| 识别号|预订日期|座位_ID|职员_ID|现况|
| - ------|- ------|- ------|- ------|- ------|
| 1个|2022年7月8日|10摄氏度|识别码1|预定的|
| 第二章|2022年7月8日|20摄氏度|身份2|作废|
如何使用多列(booked_dateseat_id和值为“booked”的status)创建唯一约束,以保证同一天只能有一个员工预订同一个座位?
注意:员工可以取消他们预订的座位,该行将以更改后的状态保留在表中。

brccelvz

brccelvz1#

使用partialUNIQUE索引:

CREATE UNIQUE INDEX ON booking_tbl (booked_date, seat_id)
WHERE status = 'booked';

相关:

  • 创建具有空列的唯一约束

相关问题