我有很多记录,其中文本被存储在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 ;
上面的查询对我很有用。我希望它也能帮助到你。
推荐文章
- django test app error -在创建测试数据库时出现错误:创建数据库的权限被拒绝
- MySql: Tinyint (2) vs Tinyint(1) -有什么不同?
- 在Android SQLite中处理日期的最佳方法
- 如何在MySQL表中移动列?
- 在MySQL中选择最后一行
- 如何删除MySQL root密码
- 在SQL Server中查找重复的行
- 从DateTime中提取小时(SQL Server 2005)
- LEFT OUTER JOIN如何返回比左表中存在的记录更多的记录?
- 如何用SQL语句计算百分比
- Postgres唯一约束与索引
- SQL Server动态PIVOT查询?
- MySQL对重复键更新在一个查询中插入多行
- 向现有表添加主键
- mysql_connect():[2002]没有这样的文件或目录(试图通过unix:///tmp/mysql.sock连接)在