MySQL批量修改多个id对应姓名字段内的多个值
时间: 2024-02-12 19:02:28 浏览: 237
可以使用MySQL的UPDATE语句来批量修改多个id对应姓名字段内的多个值。假设有一个表名为`person`,包含`id`和`name`两个字段,要修改id为1、2、3的三个人的姓名分别为"Tom"、"Jerry"和"Mike",可以使用如下语句:
```
UPDATE person SET name =
CASE
WHEN id = 1 THEN 'Tom'
WHEN id = 2 THEN 'Jerry'
WHEN id = 3 THEN 'Mike'
ELSE name
END
WHERE id IN (1, 2, 3);
```
上述语句使用了MySQL的CASE语句来根据id进行不同的赋值操作,其中ELSE name表示id不为1、2、3的人的姓名不变。WHERE子句用于限定要修改的记录,这里选择id为1、2、3的记录。
相关问题
MySQL批量修改多个值通过对应的id
你可以使用 `CASE WHEN` 语句来批量修改多个值,通过对应的 id 进行筛选。具体的 SQL 语句如下:
```
UPDATE 表名 SET 字段名 =
CASE id
WHEN id1 THEN 新值1
WHEN id2 THEN 新值2
WHEN id3 THEN 新值3
...
ELSE 字段名
END
WHERE id IN (id1, id2, id3, ...);
```
其中,`id1, id2, id3, ...` 是需要修改的 id 值,`新值1, 新值2, 新值3, ...` 是需要修改成的新值,`字段名` 是需要修改的字段名。如果某个 id 没有对应的新值,就不会修改它的值。
需要注意的是,`CASE WHEN` 语句中的条件是按顺序执行的,如果有多个条件都匹配上了,只会执行第一个匹配的条件,后面的条件就不会再执行了。因此,需要将需要修改的 id 放在前面的条件中。
mysql批量修改编号对应的某个字段对应的数据为一一对应的多个值
如果需要批量修改编号对应的某个字段为多个不同的值,可以使用 CASE WHEN 语句实现。假设编号字段为 id,需要修改的数据字段为 field,需要更新的值为 value1、value2、value3 等,可以使用以下 SQL 语句:
```
UPDATE 表名 SET field =
CASE id
WHEN id1 THEN value1
WHEN id2 THEN value2
WHEN id3 THEN value3
...
END
WHERE id IN (id1, id2, id3, ...);
```
其中,id1、id2、id3 等表示需要修改的记录的编号,可以使用逗号隔开多个编号,实现批量修改。CASE WHEN 语句可以根据不同的编号设置不同的更新值,从而实现批量修改不同的记录。
如果需要修改所有记录,可以省略 WHERE 子句,例如:
```
UPDATE 表名 SET field =
CASE id
WHEN id1 THEN value1
WHEN id2 THEN value2
WHEN id3 THEN value3
...
END;
```
需要注意的是,使用 CASE WHEN 语句批量修改数据也可能会影响数据库性能,建议在修改前备份数据或者在低峰期执行修改操作。
阅读全文