2

ここに奇妙なシナリオがあります。タブ区切りのファイルを mysql にインポートしようとしています。このファイルには、価格列が 1,000 を超える行がいくつかあります。インポートが完了すると、カンマの後の値は除外され、テーブルには 1 つだけになります。Linux と Windows の両方の環境で試してみましたが、結果は同じでした。

たとえば、タブ区切りファイルの行 1、列 1 に値 1,564.50 が含まれている場合、MySQL テーブルの行 1 列 1 は 1 になります。これは私が使用しているステートメントです。

LOAD DATA LOCAL INFILE 'blah.txt'
 INTO TABLE `table1`
 FIELDS TERMINATED BY '\t'
 OPTIONALLY ENCLOSED BY  ''''
 LINES TERMINATED BY '\n';

私の質問は 1. 誰かがこれを確認できますか、または自分の側で何か不足している場合にこの動作を修正する方法を教えてください。2.これがmysqlのバグである場合、mysqlが修正するまでこれらの値を適切にインポートするための回避策は何ですか。

4

1 に答える 1

2

Windowsのデフォルトの区切り文字はコンマです。別の文字に変更して、ソースデータと一致させてください。

デフォルトの区切り文字を変更するには:

[コントロールパネル]->[地域と言語のオプション](または一部のマシンでは[日付、時刻、地域のオプション]-> [地域と言語のオプション])->[カスタマイズ]ボタンをクリックします。開いたダイアログボックスに、コンマを別の文字に変更できる「リスト区切り文字」のオプションが表示されます。-> [適用]、[OK]、[もう一度適用]の順にクリックします。これで、Excelに移動して[CSVとしてエクスポート]を選択すると、新しい文字が区切り文字として使用されます。

于 2012-10-03T02:52:21.907 に答える