mysql如何存储布尔值_用于存储布尔值的MySQL数据类型

在MySQL中存储布尔值,通常使用tinyint(1)、BIT或ENUM('False', 'True')等数据类型。TINYINT(1)与BOOLEAN别名相同,0被视为false,非零值被视为true。BIT(1)在MySQL 5.0.3及以上版本可用,适合存储1位值。ENUM方案允许在SQL中使用字符串形式的布尔值。开发者应根据需求选择最适合的存储方式。" 105659391,9195111,数据平台的进化:从数据仓库到大数据,"['大数据', '数据仓库', 'hadoop', 'spark', 'kafka']
摘要由CSDN通过智能技术生成

用于存储布尔值的MySQL数据类型

由于MySQL似乎没有任何“布尔”数据类型,您在“滥用”哪种数据类型来存储MySQL中的真/假信息?

特别是在写入和读取PHP脚本的上下文中。

随着时间的推移,我使用并看到了几种方法:

tinyint,包含值0/1的varchar字段,

包含字符串'0'/'1'或'true'/'false'的varchar字段

最后枚举包含两个选项'true'/'false'的字段。

以上都不是最佳选择。 我更倾向于使用tinyint 0/1变体,因为PHP中的自动类型转换非常简单地给出了布尔值。

那你使用哪种数据类型? 有没有为布尔值设计的类型我忽略了? 您是否看到使用某种类型的优点/缺点?

11个解决方案

1103 votes

对于MySQL 5.0.3及更高版本,您可以使用BIT.手册说:

从MySQL 5.0.3开始,BIT数据类型用于存储位字段  值。 一种BIT(M)允许存储M位值。 M可以范围   从1到64。

否则,根据MySQL手册,您可以使用bool和boolean,它们是tinyint(1)的别名:

Bool,Boolean:这些类型是TINYINT(1)的同义词。 价值   零被认为是假的。非零   值被认为是真实的。

MySQL还声明:

我们打算实现完整的布尔值   类型处理,按照   标准SQL,在未来的MySQL中   发布。

参考文献:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值