我有表 - 配置。 架构: 配置名称 |配置值
我想在一个查询中更新多条记录。我尝试这样:
UPDATE config
SET t1.config_value = 'value'
, t2.config_value = 'value2'
WHERE t1.config_name = 'name1'
AND t2.config_name = 'name2';
但是该查询是错误的:(
你能帮我吗?
请您参考如下方法:
尝试多表更新语法
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 演示