使用多个插入重复键更新

时间:2016-09-06 20:33:52

标签: mysql sql on-duplicate-key

我如何正确管理以下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供稿进行同步。

1 个答案:

答案 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的值传递给该行。