2016-04-04 15 views
2

私は非常にMySQLに慣れていませんし、私は多くの問題を抱えています。私はLinux Mint 17.3でMySQL Workbench 6.3を使用しています。MySQL Workbenchテーブルのデータインポートウィザードで、0レコードがインポートされるのはなぜですか?

テーブルデータインポートウィザードを使用してCSVファイルをテーブルにインポートしようとしています。これは単純なテーブルでうまく動作しますが、より複雑なテーブルでは失敗しています。

インポートウィザードですべての行と列が完璧であることを確認するためにすべてを修正しています。

「インポート0レコードの」

とテーブルの前には空白のまま:そこにディスク活動だとエラーが報告されていないが、最後に、時間がかかり、私〜14000行をインポートし、最初に動作しているようです。

テーブルにインポートすると、すべてが期待通りに機能します。私はデータ型がかなり異なっていることに気付きました。私は.CSVファイルのデータ型を予想どおりに強制しようとしました。また、 "NULLABLE = NO"フィールドに何かがあることを確認しました。しかし、私がこれらのルールを破った場合、エラーはないでしょうか?私はさらに1行だけをインポートしようとしましたが、この大きなテーブルのどこかに悪いデータがあると思っていましたが、1行もインポートできません。

なぜ、エラーはありませんが、既存のテーブルに「0レコードがインポートされました」が、新しいテーブルですべて正常に機能するのはなぜですか?

私は十分な情報が含まれていない場合、事前に謝罪します。

ありがとうございます。

+0

*データ型が全く異なる*は意味があります。どのような違いがありますか?なぜ新しいテーブルにデータをインポートしてから、そこから実際のテーブルにインポートして、プロセスで必要なデータ型変換を行うのでしょうか? –

+0

違いは、既存のテーブルでは、新しいテーブルで「テキスト」が使用される「varchar」または「timestamp」データ型が使用されることです。また、新しいテーブルでは "int"と "bigint"が使用され、一方、既存のテーブルでは "double"が使用され、 "bit"のインスタンスが1つあります。私は、データ型を変換する間にあるテーブルから別のテーブルにインポートしようとすることについて学びます。ありがとう、ケン。 – Fraoch

+0

それで、データには多くの問題があることが判明しました。変換だけでは十分ではありませんでした。私は最終的に "alter table"に行き、各列の属性を変更して2つのテーブルを一致させようとしました。これにより、 "NOT NULL"を設定するとNULL値が多く見つかってしまい、 "UNIQUE"を設定すると重複してしまいます。これらを整理した後も、他の​​テーブルにUUIDの参照が残っているとしたら、ユニークな番号ではなく、1つの列にUUIDが必要であることがわかりました。最後に2つのテーブルが一致すると、新しいデータを既存のテーブルにインポートしました。 – Fraoch

答えて

0

解決策は、インポートごとに〜2000レコードをインポートすることです。私はDBにメモリの問題があると信じています。私は同じ状況に遭遇し、9000レコードをアップロードしていました。データ型を含むすべてが完璧でした。

関連する問題