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演示
慕侠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.这对我有用。
- 3 回答
- 0 关注
- 672 浏览
添加回答
举报
0/150
提交
取消