标题说明了一切。我知道有一百万个非nodejs解决方案,但我需要一个与node-postgres模块配合使用的解决方案。
(注意:我使用Heroku作为主机,因此我可以免费获得Postgresql访问权限,这意味着我无法创建/添加功能,因为它是免费版本。)
答案 0 :(得分:0)
As of PostgreSQL 9.5(Heroku自2016年初开始使用),如果存在重复条目(由现有唯一性约束确定),则可以忽略插入。
以下示例来自PostgreSQL wiki:
INSERT INTO countries (country) VALUES ('France'),('Japan') ON CONFLICT DO NOTHING;
上述插入查询将忽略任何冲突。但是,这可能并不理想,因此您可以做的是明确说明在决定忽略插入时应考虑哪些约束:
INSERT INTO countries (country) VALUES ('France'),('Japan') ON CONFLICT ON CONSTRAINT countries_pkey DO NOTHING;
或
INSERT INTO countries (country) VALUES ('France'),('Japan') ON CONFLICT (country) DO NOTHING;
这样就不会吞下其他约束,但仍然会导致错误。