開発者がブロブを使用することを選択した理由が何であれ、コンテンツをブロブとして保持する mysql データベースがあります。データをテキストに、データ型をテキストに変換することは可能ですか?
4132 次
2 に答える
3
テーブルの変更コマンドを試しましたか?
alter table mytable change mycolumn mycolumn text;
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)
于 2009-10-27T02:20:05.220 に答える
1
フィールドを blob からテキストに変換すると、127 を超えるすべての文字が切り捨てられます。私の場合、多くのヨーロッパ文字があるため、これはオプションではありませんでした。これが私がしたことです:
- 一時フィールドをテキストとして作成
- blob フィールドを temp フィールドにコピーします。 UPDATE tbl SET col_temp = CONVERT(col USING latin1); この場合、ブロブは latin1 でエンコードされた文字を保持していました
- 実際のフィールドをテキスト データ型に変換する
- temp を実際のフィールドにコピーする
- 一時列を削除
正確には簡単ではありませんが、機能し、データの損失はありませんでした。私はバージョンを使用しています:「5.1.50-community」
于 2011-05-23T16:33:47.417 に答える