为了账号安全,请及时绑定邮箱和手机立即绑定

MySQL中的多个更新

MySQL中的多个更新

人到中年有点甜 2019-06-18 13:42:08
MySQL中的多个更新我知道您可以一次插入多个行,是否有一种方法可以同时更新MySQL中的多个行(如在一个查询中)?编辑:例如,我有以下内容Name   id  Col1  Col2Row1   1    6     1Row2   2    2     3Row3   3    9     5Row4   4    16    8我想将以下所有更新合并到一个查询中UPDATE table SET Col1 = 1 WHERE id = 1;UPDATE table SET Col1 = 2 WHERE id = 2;UPDATE table SET Col2 = 3 WHERE id = 3;UPDATE table SET Col1 = 10 WHERE id = 4;UPDATE table SET Col2 = 12 WHERE id = 4;
查看完整描述

3 回答

?
心有法竹

TA贡献1866条经验 获得超5个赞

由于您有动态值,因此需要使用if或case对要更新的列进行更新。有点丑,但应该管用。

使用您的例子,您可以这样做:

UPDATE table SET Col1 = CASE id 
                          WHEN 1 THEN 1 
                          WHEN 2 THEN 2 
                          WHEN 4 THEN 10 
                          ELSE Col1 
                        END, 
                 Col2 = CASE id 
                          WHEN 3 THEN 3 
                          WHEN 4 THEN 12 
                          ELSE Col2 
                        END
             WHERE id IN (1, 2, 3, 4);


查看完整回答
反对 回复 2019-06-18
  • 3 回答
  • 0 关注
  • 451 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信