几个月前,我从Stack Overflow的答案中学到了如何使用以下语法在MySQL中一次执行多个更新:
INSERT INTO table (id, field, field2) VALUES (1, A, X), (2, B, Y), (3, C, Z)
ON DUPLICATE KEY UPDATE field=VALUES(Col1), field2=VALUES(Col2);
Run Code Online (Sandbox Code Playgroud)
我现在切换到PostgreSQL,显然这是不正确的.它指的是所有正确的表,所以我认为这是使用不同关键字的问题,但我不确定PostgreSQL文档中的哪个被覆盖.
为了澄清,我想插入几个东西,如果它们已经存在则更新它们.
我很难形成条件INSERT
我有x_table与列(实例,用户,项),其中实例ID是唯一的.我想仅在用户已经没有给定项目时才插入新行.
例如,尝试插入instance = 919191 user = 123 item = 456
Insert into x_table (instance, user, item) values (919191, 123, 456)
ONLY IF there are no rows where user=123 and item=456
Run Code Online (Sandbox Code Playgroud)
任何有关正确方向的帮助或指导都将非常感激.