所以我来自 MySQL,我可以在 DUPLICATE UPDATE 上进行 INSERT:
INSERT INTO table (a,b,c)
VALUES (1,2,3)
ON DUPLICATE KEY UPDATE c=c+1;
但是现在我正在使用 PostgreSQL,并且正在努力添加 UPSERT 功能,看起来 MERGE 可能适用于我想要的,但想看看这是否是最优化的语法。示例语法 1,我也见过这个,但不明白如何实现。我还没有尝试过,因为我认为 MERGE 用于将数据从 table1 合并到 Table2 或者类似的工作?
MERGE
INTO table
USING table
ON c = 1
WHEN MATCHED THEN
UPDATE
SET c=c+1
WHEN NOT MATCHED THEN
INSERT (a,b,c)
VALUES (1,2,3)
还有其他建议吗?