我有很多记录,其中文本被存储在MySQL中的blob中。为了方便处理,我想改变数据库的格式为文本…有什么想法可以轻松地进行更改,从而不中断数据-我猜它将需要正确编码?


当前回答

我的MariaDB记录也有同样的问题。 这是(我的同事)用

select
uncompress(blobfield)
from table

其他回答

SELECCT TO_BASE64(blobfield)  
FROM the Table

为我工作。

CAST(blobfield AS CHAR(10000) CHARACTER SET utf8)和CAST(blobfield AS CHAR(10000) CHARACTER SET utf16)没有显示我想要得到的文本值。

这是不必要的。只需使用SELECT CONVERT(column USING utf8) FROM.....而不是只是SELECT column FROM…

我的MariaDB记录也有同样的问题。 这是(我的同事)用

select
uncompress(blobfield)
from table

使用phpMyAdmin,您还可以设置选项来显示BLOB内容和显示完整的文本。

你可以很容易地做到。

ALTER TABLE `table_name` CHANGE COLUMN `column_name` `column_name` LONGTEXT NULL DEFAULT NULL ;

上面的查询对我很有用。我希望它也能帮助到你。