MYSQL,多次插入和ON DUPLICATE UPDATE [英] MYSQL, multiple insert and ON DUPLICATE UPDATE

查看:125
本文介绍了MYSQL,多次插入和ON DUPLICATE UPDATE的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我真的被多个插入值所阻塞,如果存在任何插入值,请执行自定义更新.这是我的查询不起作用:

I'm really blocked with multiple insert values and if any one exist, do custom update. Here is my query that not work :

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';

有什么解决方案可以执行此查询?

There is any solution that can do this query?

谢谢大家

推荐答案

每个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,因为它更通用.)

(Of course, you can also do this with VALUES; I just prefer SELECT because it is more general.)

这篇关于MYSQL,多次插入和ON DUPLICATE UPDATE的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆