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

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

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

慕姐4208626 2019-08-16 15:29:08
SQL - 在一个查询中更新多个记录我有table - config。架构: config_name | config_value我想在一个查询中更新多个记录。我试着这样:UPDATE config  SET t1.config_value = 'value'   , t2.config_value = 'value2' WHERE t1.config_name = 'name1'    AND t2.config_name = 'name2';但那个查询错了:(你能帮助我吗?
查看完整描述

3 回答

?
MYYA

TA贡献1868条经验 获得超4个赞

尝试使用多表更新语法

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演示

或有条件的更新

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演示


查看完整回答
反对 回复 2019-08-16
?
慕侠2389804

TA贡献1719条经验 获得超6个赞

在我的情况下,我必须更新超过1000的记录,为此而不是每次我更喜欢这个时更新查询,

   UPDATE mst_users 
   SET base_id = CASE user_id 
   WHEN 78 THEN 999 
   WHEN 77 THEN 88 
   ELSE base_id END WHERE user_id IN(78, 77)

78,77是用户ID,对于那些用户ID,我需要分别更新base_id 999和88.这对我有用。


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

添加回答

举报

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