要在不更改 id 值的情况下更新多行,可以使用以下方法:
UPDATE 表名
SET 列1 = 值1, 列2 = 值2, ...
WHERE 条件;
示例:
UPDATE students
SET age = 20, grade = 'A'
WHERE id IN (1, 2, 3);
上述示例将 id 为 1、2、3 的学生的年龄设为 20,成绩设为 'A'。
UPDATE 表名
SET 列1 = 子查询.列1, 列2 = 子查询.列2, ...
WHERE 条件;
示例:
UPDATE students
SET age = (SELECT age FROM updated_students WHERE id = students.id),
grade = (SELECT grade FROM updated_students WHERE id = students.id)
WHERE id IN (SELECT id FROM updated_students);
上述示例使用 updated_students 表中的数据来更新 students 表中的数据。子查询根据 id 匹配相应的行,并将其 age 和 grade 值用于更新。
请注意,上述示例中的 updated_students 表是一个包含更新数据的临时表或子查询结果。您可以根据实际情况进行调整。