印字不能文字区切り文字とMySQLのLOAD DATA INFILEを使用
-
18-09-2019 - |
質問
私は、レコード区切り文字としてフィールド区切り文字とSTX(ASCII文字2)としてSOH(ASCII文字1)を持ついくつかのベンダーのデータを持っています。それはファイルを前処理し、より一般的なもので、それらの文字を交換せずには、LOAD DATA INFILEと、このデータをロードすることは可能ですか?
解決
私はそれを得ています。
LOAD DATA LOCAL INFILE 'myfile.txt' INTO TABLE my_table
CHARACTER SET UTF8
FIELDS TERMINATED BY X'01'
LINES TERMINATED BY X'02'
(col1, col2, col3);
他のヒント
あなたはFIELDS TERMINATED BY _ascii 0x02
を試してみてください。それはLOAD DATA INFILE
のために働くかどうかはわかりませんが、それはSELECT
(すなわち、SELECT _ascii 0x61
利回り「A」)で動作します。
あなたはフィールドごとに終了し、回線終端-によってなどで進値のフォーマットをmysqlimportは使用している場合は、次のとおりです。
mysqlimportは--local --user =ユーザ名--password =秘密--ignore-ライン= UTF8の--fieldsが終端-で= 0x01を--lines終端-で= = 4 --default-文字セット0x02の--verboseデータベース名thefiletoimport
あなたは自分の接続が割り当てられている文字セットやエンコーディングを持っていない場合、mysqlは単に有効な文字列としてそれを受け入れることが...文字列リテラル内に直接アスキー文字を送信してみてくださいすることができます。あなたは、mysqlクライアントへのネットワーク接続、または配管データを通じてそれをしなければならないと思います。私はあなたがコンソールでそのを入力することができるようになるだろうとは思いません。
X'01' BY TERMINATEDFIELDS
私の作品