MySQL Blob to Text(数据和数据类型)

时间:2009-10-27 02:14:12

标签: sql mysql blobs

我有一个mysql数据库,它将内容保存为blob,无论出于何种原因,这些开发人员选择使用blob都是我无法控制的。是否可以将数据转换为文本,将数据类型转换为文本?

2 个答案:

答案 0 :(得分:3)

你试过alter table命令吗?

alter table mytable change mycolumn mycolumn text; 
来自http://forums.mysql.com/read.php?103,164923,167648#msg-167648

看起来你可以使用CAST。

您可以创建一个新的(TEXT)列,然后使用更新命令填充它:

update mytable set myNewColumn = CAST(myOldColumn AS CHAR(10000) CHARACTER SET utf8) 

答案 1 :(得分:1)

将字段从blob转换为文本会截断所有字符> 127.在我的情况下,我们有很多欧洲角色,所以这不是一个选择。这是我做的:

  1. 将临时字段创建为文本
  2. 将blob字段复制到temp字段:UPDATE tbl SET col_temp = CONVERT(col USING latin1);在这种情况下,我的blob持有latin1编码的字符
  3. 将实际字段转换为文本数据类型
  4. 将temp复制到实际字段
  5. 删除临时列
  6. 不是很简单,但它有效,没有数据丢失。我正在使用版本:'5.1.50-community'