MySQL没有正确插入二进制数据?应该使用哪种数据类型?

为此,请使用BIT数据类型。让我们首先创建一个表-

create table DemoTable(binaryValue BIT(5));

使用插入命令在表中插入一些记录-

insert into DemoTable values(10);
insert into DemoTable values(15);

使用select语句显示表中的所有记录-

select *from DemoTable;

这将产生以下输出。现在您可以看到记录不可见-

+-------------+
| binaryValue |
+-------------+
|             |
|             |
+-------------+
2 rows in set (0.00 sec)

要显示以上记录(二进制数据),您需要使用bin()-

select bin(binaryValue) from DemoTable;

这将产生以下输出>

+------------------+
| bin(binaryValue) |
+------------------+
| 1010             |
| 1111             |
+------------------+
2 rows in set (0.00 sec)

现在让我们来看另一个例子。

以下是插入二进制数据的查询,但是使用select时,这些值不可见-

insert into DemoTable VALUES (b'1010'),(b'1111');
Records: 2 Duplicates: 0 Warnings: 0
select *from DemoTable;
+-------------+
| binaryValue |
+-------------+
|             |
|             |              
|             |
|             |
+-------------+
4 rows in set (0.00 sec)

让我们再次检查表记录,并使用bin()显示-

select bin(binaryValue) from DemoTable;

这将产生以下输出-

+------------------+
| bin(binaryValue) |
+------------------+
| 1010             |
| 1111             |
| 1010             |
| 1111             |
+------------------+
4 rows in set (0.00 sec)