1 つのフィールドを blob として持つ大きなデータのセットを mysql サーバー (5.5) にインポートする必要があります。SELECT INTO OUTFILE と LOAD DATA INFILE のサンプルに従うと、[ほぼ] 正常に動作します。ただし、問題があります。BLOB のファイルで生成されたデータには、実際にはバイナリ表現があります。生成されたファイルは次のようになります (3 列目は BLOB ファイルを表します)。
1,1,"4Vÿ" 2,1,"ª»Ì" 3,1,"Ýîÿ" 4,1,"\"3"
この場合、インポートは次の sql ステートメントで正常に機能します。
LOAD DATA INFILE 'C:/temp/mysql/mysqldump.1.txt' INTO TABLE `test_table` ',' で終了するフィールド オプションで '"' で囲む 「\r\n」で終了する行 ;
私の問題は、テキストがこのように偶然に生成されることです。引用符や改行などが発生した場合は、手動でエスケープする必要があり (つまり、バックスラッシュ文字に置き換えます)、この手順をスキップしたいと思います。
そこで、私の質問は次のとおりです。次の形式のテキスト ファイルをインポートする方法はありますか (BLOB は hex として保存されます)。
1、1、0x123456FF 2、1、0xaabbcc 3、1、0xddeeff 4、1、0x112233
単一のmysqlステートメントで?
更新:言及するのを忘れました-LOAD DATA INFILEステートメントを使用して、目的の形式のテキストファイルを直接インポートしようとしましたが、結果は実際にはテーブルのBLOBファイルにテキスト「0x123456FF」を格納していました。