我如何正确管理以下SQL查询的重复密钥更新,其中我进行了多次插入?
INSERT into user(id, first, last)
VALUES(1, 'f1', 'l1'), (2, 'f2', 'l2')
ON DUPLICATE KEY UPDATE first = 'f1', last = 'l1'; // what about f2/l2?
问题: 如何为上述查询指定多个密钥更新值,或者请横向思考。
概述:该项目用于从远程json供稿进行同步。
答案 0 :(得分:3)
使用VALUES
:
INSERT into user(id, first, last)
VALUES(1, 'f1', 'l1'), (2, 'f2', 'l2')
ON DUPLICATE KEY UPDATE
first = VALUES(first),
last = VALUES(last);
这就像一个函数(真正的语法糖),它表示将insert
的值传递给该行。