SQL - 在一个查询中更新多条记录

时间:2023-05-01
本文介绍了SQL - 在一个查询中更新多条记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我有表格 - config.架构:config_name |配置值

I have table - config. Schema: config_name | config_value

我想在一个查询中更新多条记录.我是这样尝试的:

And I would like to update multiple records in one query. I try like that:

UPDATE config 
SET t1.config_value = 'value'
  , t2.config_value = 'value2' 
WHERE t1.config_name = 'name1' 
  AND t2.config_name = 'name2';

但是那个查询是错误的:(

but that query is wrong :(

你能帮我吗?

推荐答案

尝试任一多表更新语法

UPDATE config t1 JOIN config t2
    ON t1.config_name = 'name1' AND t2.config_name = 'name2'
   SET t1.config_value = 'value',
       t2.config_value = 'value2';

这是SQLFiddle 演示

Here is SQLFiddle demo

或有条件更新

UPDATE config
   SET config_value = CASE config_name 
                      WHEN 'name1' THEN 'value' 
                      WHEN 'name2' THEN 'value2' 
                      ELSE config_value
                      END
 WHERE config_name IN('name1', 'name2');

这是SQLFiddle 演示

Here is SQLFiddle demo

这篇关于SQL - 在一个查询中更新多条记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

上一篇:在 MySQL 中,SELECT DISTINCT 或 GROUP BY 哪个更快? 下一篇:如何使用 LIKE 通配符在列中搜索(不区分大小写)?

相关文章