位与布尔列

Mar*_*k D 13 mysql database-design

鉴于位域只是数据的二进制表示,需要以稍微“奇怪”的方式进行查询。

使用位字段作为布尔值实际上是否有任何好处?从我所见,似乎表明空间是唯一真正的好处。

Der*_*ney 15

就个人而言,我会使用BOOLEAN布尔值。但请记住,在 MySQL 中,BOOLEAN它只是[src]的同义词TINYINT(1)

当然,这意味着如果您不小心,您可以使用 0 或 1 以外的值。为避免这种情况,您可以使用别名TRUEFALSE在插入和更新数据时,因为它们分别映射到 1 和 0。

为了完整起见,在 5.0.3 之前,BIT也是TINYINT(1).