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

回到顶部