MySQL Blob to Text(データとデータ型)
質問
コンテンツをBLOBとして保持するmysqlデータベースがありますが、開発者がBLOBを使用することを選択した理由はなんでもありません。データをテキストに、データ型をテキストに変換することは可能ですか?
解決
alter tableコマンドを試しましたか?
alter table mytable change mycolumn mycolumn text;
from 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)
他のヒント
フィールドをblobからテキストに変換すると、すべての文字が切り捨てられます> 127.私の場合、ヨーロッパのキャラクターがたくさんいるので、これはオプションではありませんでした。私がやったことは次のとおりです。
- テキストとして一時フィールドを作成
- blobフィールドをtempフィールドにコピーします。UPDATE tbl SET col_temp = CONVERT(col USING latin1);この場合、blobはlatin1でエンコードされた文字を保持しています
- 実際のフィールドをテキストデータ型に変換する
- tempを実際のフィールドにコピー
- 一時列を削除
正確ではありませんが、機能し、データ損失はありません。バージョン: '5.1.50-community'を使用しています
所属していません StackOverflow