Bootstrap

MySQL 一张表批量修改不同记录的不同字段

在实际应用场景中可能会遇到,修改一个表中的不同的数据,这些数据可能有共同的标识,也可能没有,这时就可以运用以下几点来进行快速修改。

统一修改,符合条件的数据都做相同的修改:

UPDATE table_name
SET 字段1= 值1, 字段2= 值2, ...
WHERE 条件;

也可以进行关联修改:

UPDATE table_name left join table_name1 on table_name.id=table_name1.nid
SET table_name.字段1= table_name1.字段1, table_name.字段2= table_name1.字段2, ...
WHERE 条件;

根据条件修改不同的字段:

UPDATE table_name
SET 字段1= CASE id
WHEN 1 THEN 值1
WHEN 2 THEN 值2
WHEN 3 THEN 值3
END,

 字段2= CASE id
WHEN 1 THEN 值1 else 值11
WHEN 2 THEN 值2 else 值22
WHEN 3 THEN 值3 else 值33
END

...
WHERE id IN (1,2,3)
UPDATE table_name

SET 字段3= CASE 
WHEN 字段4>字段5 THEN 值1
END,

 字段4= CASE 
WHEN 字段5>字段6 THEN 值1 else 值11
END
...

引用:MySQL UPDATE 更新 | 菜鸟教程

;