我需要将多个巨大的CSV文件(〜8-9GB)上传到一个表中。这些CSV文件中的行可能具有相同的ID,在这种情况下,我需要使用当前上传的CSV文件中的非空数据覆盖现有数据。 这是一个示例:
CSV#1:
id|col1|col2|col3|col4
1 |1 |1 | |
2 | |1 |1 |
CSV#2:
id|col1|col2|col3|col4
2 |2 | |2 |2
3 |2 | | |
4 | |2 | |2
结果应该是:
id|col1|col2|col3|col4
1 |1 |1 | |
2 |2 |1 |2 |2
3 |2 | | |
4 | |2 | |2
和CSV#3:
id|col1|col2|col3|col4
2 |3 | | |
4 | |3 |3 |
结果应该是:
id|col1|col2|col3|col4
1 |1 |1 | |
2 |3 |1 |2 |2
3 |2 | | |
4 | |3 |3 |2
我知道我可以使用COPY
有效地上传数据,但是我不知道如何处理此类冲突。