Frage

Ich habe eine mysql-Datenbank, die Inhalte enthält, die als blob, für was auch immer Grund, warum die Entwickler sich entschließen, ein blob ist aus meiner Kontrolle.Ist es möglich, die Daten zu konvertieren, um text und den Datentyp auf text?

War es hilfreich?

Lösung

haben Sie versucht, die alter table-Befehl ?

alter table mytable change mycolumn mycolumn text; 

von http://forums.mysql.com/read.php?103,164923,167648#msg-167648 es sieht aus wie Sie können verwenden Sie CAST.

Sie können eine neue (TEXT -) Spalte, dann füllen Sie es mit einem update-Befehl:

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

Andere Tipps

Konvertieren Sie das Feld aus blob-text schneidet alle Zeichen > 127.In meinem Fall haben wir eine Vielzahl von europäischen Zeichen, so war dies keine option.Hier ist, was ich getan habe:

  1. Erstellen temp-Feld als text
  2. Kopieren Sie die blob-Feld in das temp-Feld:UPDATE tbl SET col_temp = CONVERT(col USING latin1);In diesem Fall meine blob statt latin1 encoded chars
  3. Konvertieren eigentliche Feld Datentyp text
  4. Kopieren Sie temp um die eigentliche Feld
  5. Entfernen temp Spalte

Nicht ganz einfach aber es hat geklappt und ohne Datenverlust.Ich benutze Version:'5.1.50-Gemeinschaft"

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top