首先,如果这是一个愚蠢的问题,我深表歉意,因为老实说,它可能是。
我正在 MySQL 中创建一个具有四个 BOOLEAN 字段的表。我想要的是当且仅当所有其他 BOOLEAN 都为真时才具有第五个计算的 BOOLEAN 字段。基本上,一个 AND 操作。在 MySQL 中有什么好的方法吗?谢谢!
首先,如果这是一个愚蠢的问题,我深表歉意,因为老实说,它可能是。
我正在 MySQL 中创建一个具有四个 BOOLEAN 字段的表。我想要的是当且仅当所有其他 BOOLEAN 都为真时才具有第五个计算的 BOOLEAN 字段。基本上,一个 AND 操作。在 MySQL 中有什么好的方法吗?谢谢!
我已经玩了一些游戏(我不将 MySQL 用于复杂的数据库),但我想我找到了一个简单的解决方案 - 使用“calculatedcol boolean as (booleancolumn1 & booleancolumn2 & booleancolumn3 & booleancolumn4)”创建第五列 - 这样做似乎阻止您向计算列添加内容,但允许您查询它。
我做了一个快速测试并创建了一个表格,如下所示:
插入需要在表格中
另一种方法 - 允许您维护插入表的“正常”语法,但只允许您使用计算表运行选择查询,即创建一个普通表,然后创建一个视图。在进行插入时插入表中。在读取需要计算的布尔值的地方时,请使用视图。
当然,对于像具有多个布尔值的表这样简单的事情,不在表级别执行此操作可能更容易,而只需在选择查询中生成列。因为它们是布尔字段,所以您可以使用“&”运算符按位进行操作,就像我在上面的测试表中创建 v5 列一样。