gpt4 book ai didi

mysql - 用于存储 boolean 值的 MySQL 数据类型

转载 作者:IT老高 更新时间:2023-10-28 12:47:17 28 4
gpt4 key购买 nike

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

尤其是在从/向 PHP 脚本写入和读取的上下文中。

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

  • tinyint、varchar 字段包含值 0/1,
  • 包含字符串 '0'/'1' 或 'true'/'false' 的 varchar 字段
  • 最后枚举包含'true'/'false'两个选项的字段。

以上都不是最佳的。我更喜欢 tinyint 0/1 变体,因为 PHP 中的自动类型转换给我的 boolean 值相当简单。

那么您使用哪种数据类型?有没有为我忽略的 boolean 值设计的类型?您看到使用一种或另一种类型有什么优点/缺点吗?

最佳答案

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

As of MySQL 5.0.3, the BIT data type is used to store bit-fieldvalues. A type of BIT(M) enables storage of M-bit values. M can rangefrom 1 to 64.

否则,根据 MySQL 手册,您可以使用 BOOLBOOLEAN,它们目前的别名为 tinyint (1):

Bool, Boolean: These types are synonyms for TINYINT(1). A value ofzero is considered false. Non-zerovalues are considered true.

MySQL 还声明:

We intend to implement full booleantype handling, in accordance withstandard SQL, in a future MySQLrelease.

引用:http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html

关于mysql - 用于存储 boolean 值的 MySQL 数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/289727/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com