我应该使用BIT(1)还是BOOL?

时间:2010-03-20 14:47:11

标签: mysql

Mysql有两种类型可以保存布尔数据,bit和bool。比特(1)似乎更合乎逻辑,因为它必须是1或0,根据规范,bool与说tinyint(1)相同

4 个答案:

答案 0 :(得分:4)

为了在其他数据库供应商中保持半通用/可移植性,请使用BIT。即使允许BOOLEAN关键字,MySQL也比大多数服务器领先一步。

请参阅:Comparison of different SQL implementations

答案 1 :(得分:3)

Au contraire ,bool似乎更合乎逻辑,特别是如果你想记录真相和虚假。

答案 2 :(得分:0)

我认为这取决于您的应用程序和客户端库。某些数据库抽象层可能期望布尔值是一种整数。 (我知道,技术上有点是整数)

答案 3 :(得分:0)

  根据规范,bool是和tinyint(1)

一样的

这是否意味着bool可以有两种以上的可能状态(撇开可空性)?如果是这样,那么第(1)位肯定会更好,因为不存在模糊性。如果真/假字段的值为“3”,您的应用会做什么?