MySQL 批量更新数据:使用 UPDATE 和 CASE 语句
MySQL 批量更新内容可以通过使用 UPDATE 语句和 CASE 语句来实现。
例如,假设有一个名为 students 的表,其中包含以下字段:id、name 和 age。现在要批量更新学生的年龄,可以使用以下语句:
UPDATE students
SET age =
CASE
WHEN id = 1 THEN 20
WHEN id = 2 THEN 21
WHEN id = 3 THEN 22
END
WHERE id IN (1, 2, 3);
上述语句将会将 id 为 1 的学生的年龄更新为 20,id 为 2 的学生的年龄更新为 21,id 为 3 的学生的年龄更新为 22。
如果要批量更新的字段和更新值较多,可以使用 INSERT INTO ... VALUES ... ON DUPLICATE KEY UPDATE 语句。例如:
INSERT INTO students (id, age)
VALUES (1, 20), (2, 21), (3, 22)
ON DUPLICATE KEY UPDATE age = VALUES(age);
上述语句将会批量插入或更新学生的年龄。如果 id 已经存在,则更新对应的年龄值;如果 id 不存在,则插入一条新的记录。
原文地址: https://www.cveoy.top/t/topic/qFBu 著作权归作者所有。请勿转载和采集!