MYSQL,多次插入和重复更新

MYSQL, multiple insert and ON DUPLICATE UPDATE

我真的被多个插入值阻塞了,如果存在任何插入值,请进行自定义更新。这是我的查询无效:

INSERT INTO `table` (f1,f2,status) VALUES 
(1,5,'on') ON DUPLICATE KEY UPDATE status='off', 
(3,2,'on') ON DUPLICATE KEY UPDATE status='off', 
(15,20,'on') ON DUPLICATE KEY UPDATE status='off';

有什么解决方案可以做这个查询吗?

谢谢大家

每个 INSERT 只能有一个 ON DUPLICATE KEY:

INSERT INTO `table`(f1, f2, status)
    SELECT 1 ,5, 'on' UNION ALL 
    SELECT 3, 2, 'on' UNION ALL
    SELECT 15, 20, 'on'
    ON DUPLICATE KEY UPDATE status = 'off';

(当然,你也可以用VALUES,我只是更喜欢SELECT,因为它更通用。)