在 MySQL 中选择时,PuTTY 输出奇怪的东西

PuTTY outputs weird stuff when selecting in MySQL

我在使用 PuTTY 查询以下 MySQL 命令时遇到了一个奇怪的问题:select * from gts_camera

输出看起来非常奇怪:

如您所见,putty 输出负载 "PuTTYPuTTYPuTTY..."

可能是因为设置了 table 属性:

    mysql> describe gts_kamera;
+---------+----------+------+-----+-------------------+----------------+
| Field   | Type     | Null | Key | Default           | Extra          |
+---------+----------+------+-----+-------------------+----------------+
| id      | int(11)  | NO   | PRI | NULL              | auto_increment |
| datum   | datetime | YES  |     | CURRENT_TIMESTAMP |                |
| picture | longblob | YES  |     | NULL              |                |
+---------+----------+------+-----+-------------------+----------------+

这个table存储了一些大图片和它们的创建日期。 (你可以在图片上方看到的奇怪的 ASCII 字符就是内容。)

有人知道为什么 PuTTY 会输出如此奇怪的东西,以及如何 solve/clean 这个吗?

因为之后我无法输入任何其他命令。我必须重新打开会话。

真诚的, 迈克尔.

发生这种情况的原因是文件的内容(因为您有一个用 longblob 定义的列)。它可能有一些 Putty 无法理解的字符,因此它会在您遇到这种情况时崩溃。

有一种配置可能会有所帮助。

您也可以不 select table 中的每一列(至少不是 *blob 的列),因为:

select id, datum from gts_camera;

或者如果您仍想这样做,请使用 MySql 函数 HEX:

select id, datum, HEX(picture) as pic from gts_camera;