2016-05-18 13 views
1

私はMysqlを初めて使用しており、これを使用していくつかのCSVファイルを作成しています。私はWin7-64 Ultimate上です。 MySql Workbench v 6.3.6ビルド511 64ビットをインストールしました。私は新しくなって以来、私はコメントできませんが、同様の質問を読んでいます。私はとにかく別のエラーが発生しています。CSVファイルをMysql Workbench 6.3にインポートする際にエラーが発生する

私はcrash0715という名前のデータベースをセットアップし、5列のdriver_oldというテーブルを作成しました。最初の列は、他のファイルにキー入力されるレポート番号(INT(20)として設定)です。他の列のデータに応じていくつかの複製が含まれています。次の4つの列には、1桁または2桁の数値データが含まれます。

私は、report_numberカラムをINT(20)、プライマリキー、ヌルではないとして設定しました。 他の4つはINTまたはINTとして設定されました

5列のCSVファイル(c:¥rootのdo.csvという名前)に100万行を少しインポートしようとしましたが、 GUI、プログラムがハングしました。私はそれを12時間以上実行させ、私のタスクマネージャーはプログラムが25%のCPUを使用していることを示しました。

次に、私はコマンドラインを試しました。データベースに切り替えた後、私は LOAD DATA LOCAL INFILE 'C:/do.csv' 使用BY TERMINATED表driver_oldフィールドに '' \ nの 'BY TERMINATED BY '"' ENCLOSED LINESと、

Iを除去しました両方のインポートを試みる前に、CSVファイルからヘッダ行

私は、次のメッセージ得た:OK QUERYを、111行は、65535回の警告を影響< 3.97秒>レコード:1070145削除:0スキップ:1070034の警告:2273755

私はSHOW WARNINGSの最初の数行を読みました。次のようになりました: 1264行1の列 'report_number'の範囲外の値。 1261行1にすべての列のデータが含まれていません。

これらの2つの行はすべて他の行について繰り返されます。

もため 1062重複エントリ「123456789」があった(123456789は代表値である)

また、他の2つのコードと再発キー「プライマリ」。

CSVファイルの最初の列には空白はありませんが、他の列には空白がいくつかあります。

ここで間違っているのは何ですか?

+1

ここにはさまざまな問題があります。分裂して征服することをお勧めします。まずデータのサブセット(おそらく1000行のcsv?)を取り出し、それが最初に機能することを確認することから始めます。範囲__と_重複エントリ... _メッセージの_Outは、あなたのcsvデータとあなたがインポートするテーブルの定義との間のミスマッチを示します...もっと小さくて便利なデータセット。 –

答えて

0

私は1045767レコードを正常にインポートしました。ここの別のメンバーが示唆しているように、私は同じエラーを出した小さな100行のファイルをインポートしました。その後、Libre Officeでcsvを開いて保存しました。私はそれをOKにインポートできました。

問題はスプレッドシートプログラム、GS-Calcでした。 CSVファイルを保存するときは、UTF-8、UTF-16、およびANSI/OEM/ISOという3つのオプションがあります。最初はUTF-8として保存していましたが、エラーを返しました。

ANSI/OEM/ISOとして保存しました。これをOKにインポートできました。私はこれが将来大きなCSVファイルを持つ他の人に役立つことを願っています。

0

私はbigint insted of intを使用します。

ignoreまたはreplaceを挿入すると、重複する主キー値に役立つ場合があります。

のLOAD DATA LOCAL INFILE 'C:/do.csv' は '\ n' をBY TERMINATED LINES ENCLOSED BY '"' '' /無視BY TERMINATED表driver_oldフィールドにを交換するには、

私はコメントすることはできませんこの質問では、csvファイルからいくつかの行を示す画像にURLを投稿し、テーブルと挿入されたデータをどのように作成したのかをコードすればよいでしょう!

+0

ファイルをutf-8として再フォーマットし、すべての空白セルに対してゼロで埋めました。行数のために、私はGS-Calcというプログラムを使ってファイルを開いたり、変更したり、保存したりしなければなりません。私は、ソフトウェアの間違ったセクションでデータをインポートしようとしていたことを知りました。この後にGUIのインポートを試みると別のエラーが発生したので、utf-16として再フォーマットして、現在ロードしています。進行状況バーが動いているので、ハングアップしません。私はそれが動作する場合、これを答えとして掲示します。助けてくれてありがとう。 – Crash

+0

バーはついにそれを画面全体に渡って完成させ、私はインポートを完了できました。 \ path \ do.csvと表示されたメッセージは、80651.335秒(22.4時間)でインポートされました。テーブルcrash0715.driver_oldが使用されています。 0レコードがインポートされました。テーブルにはデータはありません。私はその後、GS-Calcプログラムから100行(上記のように)をコピーして貼り付け、それをutf-8 csvファイルとして保存しました。私がそれをインポートしようとしたとき、それは行きませんでした。私はLibre Office(utf-8)でファイルを開いてそこに保存しなければなりませんでした。それはOKをインポートしました。この問題は、GS-Calcプログラムのようです。私は答えがあると思うが、それをテストする必要がある。 – Crash

関連する問題