Pergunta

Eu tenho um banco de dados mysql que contém conteúdo como um blob, por qualquer razão os desenvolvedores optaram por utilizar uma bolha está fora do meu controle. É possível converter os dados em texto e o tipo de dados de texto?

Foi útil?

Solução

você já tentou o comando alter table?

alter table mytable change mycolumn mycolumn text; 

http://forums.mysql.com/ read.php? 103,164923,167648 # msg-167648 parece que você pode usar CAST.

Você pode criar uma coluna nova (texto), então preenchê-lo com um comando de atualização:

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

Outras dicas

Convertendo o campo de blob de texto trunca todos os caracteres> 127. No meu caso, temos lotes de caracteres europeus, pelo que esta não era uma opção. Aqui está o que eu fiz:

  1. Criar campo temporário como texto
  2. Copiar o campo blob para o campo de temperatura: UPDATE tbl SET col_temp = Converter (col USANDO latin1); Neste caso minha blob realizada latin1 codificado caracteres
  3. Converter campo real de texto tipo de dados
  4. Copiar temp para campo real
  5. coluna Remover temperatura

Não é exatamente simples, mas funcionou e sem perda de dados. Estou usando Versão: '5.1.50-comunidade'

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top