我有表 配置 。架构: config_name | config_value
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';
但那个查询是错误的:(
你能帮助我吗?
尝试多表更新语法
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');