所以我来自 MySQL 我可以做插入重复更新 http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html:
INSERT INTO table (a,b,c)
VALUES (1,2,3)
ON DUPLICATE KEY UPDATE c=c+1;
但现在我正在使用 PostgreSQL,并且正在努力添加 UPSERT 功能,看起来 MERGE 可能适合我想要的功能,但想看看这是否是最佳语法。示例语法 1 http://archives.postgresql.org/pgsql-hackers/2008-04/msg01157.php, 我也看到了这个,但不明白如何实现 https://stackoverflow.com/questions/1109061/insert-on-duplicate-update-postgresql。我还没有尝试过这个,因为我认为 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)
还有其他建议吗?
在 MERGE 可用之前,请使用这种强大的方法:在 PostgreSQL 中重复更新时插入? https://stackoverflow.com/questions/1109061/insert-on-duplicate-update-postgresql/1109198#1109198
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)