我将内存中集合中的记录数据插入到 postgres 中,并希望数据库忽略数据库中已经存在的任何记录(由于具有相同的主键),但继续我的其余插入操作。
顺便说一句,我正在使用 clojure 和 hugsql,但我猜答案可能与语言无关。
由于我本质上是以这种方式将数据库视为一个集合,所以我可能会参与反模式。
最佳答案
如果您使用的是 Postgres 9.5 或更新版本(我假设您是,因为它是在 2016 年 1 月发布的),您可以使用一个非常有用的 ON CONFLICT
条款:
INSERT INTO mytable (id, col1, col2)
VALUES (123, 'some_value', 'some_other_value')
ON CONFLICT (id) DO NOTHING
关于sql - 如何让 postgres 忽略带有重复键的插入但继续,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47541579/