MySQL始终将BIT值返回为空白
在我的创建表脚本中,我已将hasMultipleColors字段定义为BIT:
hasMultipleColors BIT NOT NULL,
运行INSERT时,不会对此字段或其他BIT字段引发警告,但是选择行将显示所有BIT值均为空白。
从命令行手动尝试更新这些记录会产生奇怪的效果-显示该记录已匹配并已更改(如果适用),但始终显示为空白。
服务器版本:5.5.24-0ubuntu0.12.04.1(Ubuntu)
mysql> update pumps set hasMultipleColors = 1 where id = 1;Query OK, 0 rows affected (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 0
mysql> select hasMultipleColors from pumps where id = 1;
+-------------------+
| hasMultipleColors |
+-------------------+
| |
+-------------------+
1 row in set (0.00 sec)
mysql> update pumps set hasMultipleColors = b'0' where id = 1;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select hasMultipleColors from pumps where id = 1;
+-------------------+
| hasMultipleColors |
+-------------------+
| |
+-------------------+
1 row in set (0.00 sec)
有什么想法吗?
回答:
您需要将位字段转换为整数。
mysql> select hasMultipleColors+0 from pumps where id = 1;
这是因为存在错误,请参见:http :
//bugs.mysql.com/bug.php?id=43670。状态为:无法修复。
以上是 MySQL始终将BIT值返回为空白 的全部内容, 来源链接: utcz.com/qa/399091.html