- ベストアンサー
CSVファイルのロードについて教えてください。
CSVファイルのロードについて教えてください。 過去データをロードしたいのですが、 ロード先のテーブルには一部重複したデータが既に存在していて、 重複エラーとなりロードできません。 ロードするデータ量は多く、CSVファイルから重複部分を取り除くのは大変なため、 エラーを無視して、重複していないデータのみをロードするような方法があればと思い 質問させていただきました。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
そういう事でしたら、ダミーのテーブルを作ってデータをインポートした後、 再ロードしてみてはどうでしょう?
その他の回答 (1)
- mimzy
- ベストアンサー率33% (32/96)
postgresのversionは? 私のは8.3.8ですが重複行もインポートされます。 cnax=# select * from rtest; name ------ boo boo (2 rows) cnax=# copy rtest to '/tmp/rtest.xt'; COPY 2 cnax=# copy rtest from '/tmp/rtest.xt'; COPY 2 cnax=# select * from rtest; name ------ boo boo boo boo (4 rows)
補足
ご回答ありがとうございます。 versionは8.1.4です。 すいません、説明が不十分でした。 インポート先のテーブルの主キーが重複するため、 一意制約エラーでインポートに失敗します。 CSVファイルのうち、エラーが発生した行はスキップして、 エラーが発生しない行のみインポートするような方法があればと思い、 質問させていただきました。 やはり、CSVファイルからエラーとなる行を取り除いてから インポートするしかないでしょうか。 よろしくお願いいたします。
お礼
ご回答ありがとうございます。 お返事が遅くなり大変申し訳ありません。 ダミーテーブルを作って重複データを除いてから インポートしました。 ありがとうございました。