SQL导入文件更新表值

时间:2011-02-17 21:38:33

标签: sql sqlite postgresql django-models django-admin

如何将csv文件导入SQLite或Postgresql数据库,以便更新表中已有的值,当然也会插入新的值。

谢谢...

PD:我很喜欢这个社区。快速准确的答案。

1 个答案:

答案 0 :(得分:4)

我对sqlite不太熟悉,知道是否有相同的结构,但你也问过Postgres。所以......使用Postgres,我会使用COPY FROM命令将数据导入临时表。然后我将运行以下SQL:

UPDATE destination d
SET [whatever you are updating]
FROM staging s
WHERE d.id = s.id

INSERT INTO destination
SELECT * FROM staging s
WHERE s.id NOT IN (
  SELECT id FROM destination
)