2009-10-27 67 views
1

我有一个mysql数据库,内容为blob,无论出于何种原因,这些开发人员选择使用blob是我的控制。是否可以将数据转换为文本并将数据类型转换为文本?MySQL Blob到文本(数据和数据类型)

+2

http://stackoverflow.com/questions/948174/how-do-i-convert-from-blob-to-text-in-mysql – 2009-10-27 02:23:03

回答

3

您是否尝试了alter table命令?

alter table mytable change mycolumn mycolumn text; 

from http://forums.mysql.com/read.php?103,164923,167648#msg-167648它看起来像你可以使用CAST。

你可以创建一个新的(文本)柱,然后用update命令填充它在:

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

我'已经从文本转到blob,并且没有数据变化。 – 2009-10-27 02:31:29

1

从BLOB转换领域的文本截断所有字符> 127在我的情况下,我们有很多的欧洲人物,所以这不是一个选择。下面是我所做的:

  1. 创建临时字段作为文本
  2. 复制BLOB字段到临时场:UPDATE TBL SET col_temp = CONVERT(COL使用latin1,);在这种情况下,我的斑点举行LATIN1编码字符
  3. 转换实际现场为文本数据类型
  4. 临时复制到实际现场
  5. 删除temp栏

不完全是简单,但它的工作,并不会丢失数据。我正在使用版本:'5.1.50 - 社区'