哪种MySQL数据类型用于存储布尔值
由于MySQL似乎没有任何“布尔”数据类型,因此您“滥用”哪种数据类型在MySQL中存储正确/错误信息?
尤其是在从PHP脚本进行读写的情况下。
随着时间的流逝,我已经使用并看到了几种方法:
- tinyint,包含值0/1的varchar字段,
- 包含字符串‘0’/‘1’或’true’/’false’的varchar字段
- 最后枚举包含两个选项“ true” /“ false”的字段。
以上都不是最佳选择。我倾向于使用tinyint 0/1变体,因为PHP中的自动类型转换使我可以很简单地获得布尔值。
那么,您使用哪种数据类型?是否有为我忽略的布尔值设计的类型?通过使用一种或另一种类型,您是否看到任何优点/缺点?
回答:
对于MySQL 5.0.3及更高版本,可以使用BIT
。该手册说:
从MySQL 5.0.3开始,BIT数据类型用于存储位字段值。BIT(M)类型可以存储M位的值。M的范围是1到64。
否则,根据MySQL手册,您可以使用bool和boolean,它们是tinyint(1)的别名:
Bool,布尔值:这些类型是TINYINT(1)的同义词。零值被认为是错误的。非零值被认为是正确的。
MySQL还指出:
我们打算在将来的MySQL版本中根据标准SQL实现完整的布尔类型处理。
参考:http :
//dev.mysql.com/doc/refman/5.5/en/numeric-type-
overview.html
以上是 哪种MySQL数据类型用于存储布尔值 的全部内容, 来源链接: utcz.com/qa/414246.html