PostgreSQL检查约束只允许两个布尔值中的一个为真

3

给定:

CREATE TABLE my_table
(
    my_table_id serial NOT NULL PRIMARY KEY,
    flag_one boolean NOT NULL,
    flag_two boolean NOT NULL
);

有没有一种方法可以创建检查约束来确保flag_one和flag_two不能同时为真?两者都可以为假,而且可以有一个为真。

1个回答

4
CREATE TABLE my_table
(
    my_table_id serial NOT NULL PRIMARY KEY,
    flag_one boolean NOT NULL,
    flag_two boolean NOT NULL,

    check ( not (flag_one is true and flag_two is true) )
);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接