2014-01-31 110 views
1

我在創建我的表後使用PostgreSQL數據庫,我必須使用CSV文件填充它們。但是,CSV文件已損壞,並且違反了主鍵規則,因此數據庫發生錯誤,我無法填充表格。任何想法如何告訴數據庫從CSV導入時忽略重複?編寫腳本將其從CSV文件中刪除是不可接受的。任何解決方法也是受歡迎的。謝謝! :)從CSV導入時忽略重複項

+0

你可以使用獨特的源選擇? –

回答

1

在postgreSQL上,duplicate rows are not permitted if they violate a unique constraint。 我認爲你最好的選擇是將你的CSV文件導入到沒有約束的臨時表中,從中刪除重複的值,最後從這個臨時表導入到你的最終表中。

+0

這是我的其他選擇好的,我會那麼做:)謝謝! –

+2

@AntonBelev要了解更多信息,請搜索「postgresql bulk upsert」。請參閱http://stackoverflow.com/questions/17267417/how-do-i-do-an-upsert-merge-insert-on-duplicate-update-in-postgresql,http://stackoverflow.com/questions/7019831/bulk-batch-update-upsert -in-postgresql –

+0

@CraigRinger很棒的鏈接謝謝! –