既然 MySQL 似乎没有任何布尔"数据类型,那么您在 MySQL 中滥用"哪种数据类型来存储真/假信息?
Since MySQL doesn't seem to have any 'boolean' data type, which data type do you 'abuse' for storing true/false information in MySQL?
特别是在编写和读取 PHP 脚本的上下文中.
Especially in the context of writing and reading from/to a PHP script.
随着时间的推移,我使用并看到了几种方法:
Over time I have used and seen several approaches:
以上似乎都不是最佳选择.我倾向于更喜欢 tinyint 0/1 变体,因为 PHP 中的自动类型转换为我提供了相当简单的布尔值.
None of the above seems optimal. I tend to prefer the tinyint 0/1 variant, since automatic type conversion in PHP gives me boolean values rather simply.
那么您使用哪种数据类型?是否有一种为我忽略的布尔值设计的类型?您认为使用一种或另一种类型有什么优点/缺点吗?
So which data type do you use? Is there a type designed for boolean values which I have overlooked? Do you see any advantages/disadvantages by using one type or another?
对于 MySQL 5.0.3 及更高版本,您可以使用 BIT.手册上说:
For MySQL 5.0.3 and higher, you can use BIT. The manual says:
从 MySQL 5.0.3 开始,BIT 数据类型用于存储位域值.一种类型的 BIT(M) 能够存储 M 位值.M可以范围从 1 到 64.
As of MySQL 5.0.3, the BIT data type is used to store bit-field values. A type of BIT(M) enables storage of M-bit values. M can range from 1 to 64.
否则,根据 MySQL 手册,您可以使用 BOOL 或 BOOLEAN,它们目前是 tinyint(1):
Otherwise, according to the MySQL manual you can use BOOL or BOOLEAN, which are at the moment aliases of tinyint(1):
Bool、Boolean:这些类型是 TINYINT的同义词一>(1).一个值零被认为是错误的.非零值被认为是真实的.
Bool, Boolean: These types are synonyms for TINYINT(1). A value of zero is considered false. Non-zero values are considered true.
MySQL 还声明:
我们打算实现完整的布尔值类型处理,按照标准 SQL,在未来的 MySQL 中发布.
We intend to implement full boolean type handling, in accordance with standard SQL, in a future MySQL release.
参考:http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html
这篇关于用于存储布尔值的 MySQL 数据类型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
如何有效地使用窗口函数根据 N 个先前值来决定How to use windowing functions efficiently to decide next N number of rows based on N number of previous values(如何有效地使用窗口函数根据
在“GROUP BY"中重用选择表达式的结果;条款reuse the result of a select expression in the quot;GROUP BYquot; clause?(在“GROUP BY中重用选择表达式的结果;条款?)
Pyspark DataFrameWriter jdbc 函数的 ignore 选项是忽略整Does ignore option of Pyspark DataFrameWriter jdbc function ignore entire transaction or just offending rows?(Pyspark DataFrameWriter jdbc 函数的 ig
使用 INSERT INTO table ON DUPLICATE KEY 时出错,使用 Error while using INSERT INTO table ON DUPLICATE KEY, using a for loop array(使用 INSERT INTO table ON DUPLICATE KEY 时出错,使用 for 循环数组
pyspark mysql jdbc load 调用 o23.load 时发生错误 没有合pyspark mysql jdbc load An error occurred while calling o23.load No suitable driver(pyspark mysql jdbc load 调用 o23.load 时发生错误 没有合适的
如何将 Apache Spark 与 MySQL 集成以将数据库表作为How to integrate Apache Spark with MySQL for reading database tables as a spark dataframe?(如何将 Apache Spark 与 MySQL 集成以将数据库表作为