在将值插入数据库之前检查约束

Check constraint before insert a value into the database

我正在尝试创建一个 table 来存储 order_details。 table 有一个列 status,每个 order_id 只允许包含值 true 一次,但是每个 order_id.

可能多次包含值 false
create table order_details (
    id serial, 
    order_id integer not null, 
    status boolean not null
);

我想在 table 结构本身中执行此操作。任何帮助,将不胜感激。提前致谢。

您可以创建过滤的唯一索引:

create unique index on order_details(order_id)
where status;