如何使用 sql 中的两个布尔字段对 OR 条件建模?
How to model an OR condition with two boolean fields in sql?
我正在做一个数据库模型,其中一个产品可以有两个不同的属性,但其中一个不包括另一个。例如,如果为产品 A 启用了 属性 1,则此产品不能启用 属性 2。
如何才能达到这个条件?我考虑过使用触发器来启用禁用另一个的布尔字段,但我不知道是否有一个选项可以通过数据建模来做到这一点。
我使用的rdbms是postgres sql.
谢谢。
使用检查约束,例如:
create table my_table(
id integer primary key,
property1 boolean,
property2 boolean,
check (not (property1 and property2))
);
我正在做一个数据库模型,其中一个产品可以有两个不同的属性,但其中一个不包括另一个。例如,如果为产品 A 启用了 属性 1,则此产品不能启用 属性 2。
如何才能达到这个条件?我考虑过使用触发器来启用禁用另一个的布尔字段,但我不知道是否有一个选项可以通过数据建模来做到这一点。
我使用的rdbms是postgres sql.
谢谢。
使用检查约束,例如:
create table my_table(
id integer primary key,
property1 boolean,
property2 boolean,
check (not (property1 and property2))
);