开发者社区 问答 正文

MySQL中的多个更新

我知道您可以一次插入多行,是否可以在MySQL中一次更新多行(如在一个查询中)?

编辑:例如,我有以下内容

Name id Col1 Col2 Row1 1 6 1 Row2 2 2 3 Row3 3 9 5 Row4 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;

问题来源于stack overflow

展开
收起
保持可爱mmm 2019-11-15 15:17:48 340 分享 版权
1 条回答
写回答
取消 提交回答
  • UPDATE my_table m JOIN ( SELECT 1 as id, 10 as _col1, 20 as _col2 UNION ALL SELECT 2, 5, 10 UNION ALL SELECT 3, 15, 30 ) vals ON m.id = vals.id SET col1 = _col1, col2 = _col2;

    2019-11-15 15:18:00
    赞同 展开评论