相关疑难解决方法(0)

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

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

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

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

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

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

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

mysql boolean sqldatatypes

1168
推荐指数
12
解决办法
83万
查看次数

如何在SQL Server中创建是/否布尔字段?

从访问数据库转换或一般情况下,创建是/否布尔字段的最佳做法是什么?

sql-server boolean sqldatatypes

299
推荐指数
10
解决办法
73万
查看次数

使用SELECT时无法看到MySQL BIT字段值

my_table包含enabled定义为的字段:enabled BIT NOT NULL DEFAULT 0.

此表有多行enabled = b'0',多行enabled = b'1'.

但是,这两个:

SELECT * from my_table WHERE enabled = b'0';
Run Code Online (Sandbox Code Playgroud)

还有这个:

SELECT * from my_table WHERE enabled = b'1';
Run Code Online (Sandbox Code Playgroud)

enabled列中显示空白:

+----+---------+
| id | enabled |
+----+---------+
|  1 |         |
|  2 |         |
+----+---------+
Run Code Online (Sandbox Code Playgroud)

这是为什么?我怎么能看到该enabled领域的价值?


$ mysql --version
mysql  Ver 14.14 Distrib 5.1.63, for debian-linux-gnu (x86_64) using readline 6.1
Run Code Online (Sandbox Code Playgroud)

mysql sql bit

43
推荐指数
4
解决办法
3万
查看次数

标签 统计

boolean ×2

mysql ×2

sqldatatypes ×2

bit ×1

sql ×1

sql-server ×1