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

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

但那个查询错了:(

你能帮助我吗?


慕姐4208626
浏览 673回答 3
3回答

MYYA

尝试使用多表更新语法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演示

慕侠2389804

在我的情况下,我必须更新超过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.这对我有用。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server