質問

私は、レコード区切り文字としてフィールド区切り文字と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 TERMINATED

FIELDS

私の作品

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top