2

I have a mysql database that holds content as a blob, for whatever reason those developers chose to use a blob is out of my control. Is it possible to convert the data to text and the data type to text?

1

2 Answers 2

3

have you tried the alter table command ?

alter table mytable change mycolumn mycolumn text; 

from http://forums.mysql.com/read.php?103,164923,167648#msg-167648 it looks like you can use CAST.

you could create a new (TEXT) column, then fill it in with an update command:

update mytable set myNewColumn = CAST(myOldColumn AS CHAR(10000) CHARACTER SET utf8) 
Sign up to request clarification or add additional context in comments.

1 Comment

I've gone from text to blob and back with no change in the data.
1

Converting the field from blob to text truncates all characters > 127. In my case we have lots of european characters, so this was not an option. Here's what I did:

  1. Create temp field as text
  2. Copy the blob field to the temp field: UPDATE tbl SET col_temp = CONVERT(col USING latin1); In this case my blob held latin1 encoded chars
  3. Convert actual field to text datatype
  4. Copy temp to actual field
  5. Remove temp column

Not exactly straightforward but it worked and no data loss. I'm using Version: '5.1.50-community'

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.