mysql - 在 MySQL 中更新 1 列中的多行

标签 mysql sql sql-update

<分区>

在 MySQL 中同时更新多行的正确查询是什么?

我只更新 1 列:

UPDATE example_table SET variable1 = 12 WHERE id=1;
UPDATE example_table SET variable1 = 42 WHERE id=2;
UPDATE example_table SET variable1 = 32 WHERE id=3;
UPDATE example_table SET variable1 = 51 WHERE id=4;

这看起来可能效率低下,或者如果它是最有效的查询请告诉我:)

最佳答案

您可以使用如下案例:

UPDATE example_table
   SET variable1 = CASE id
                     WHEN 1 THEN 12
                     WHEN 2 THEN 42
                     WHEN 3 THEN 32
                     WHEN 4 THEN 51
                   END
 WHERE id BETWEEN 1 AND 4

关于mysql - 在 MySQL 中更新 1 列中的多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9346755/

相关文章:

mysql - 多种条件下的多次更新

mysql - 如何获取 `MySQL` 查询获取的锁数量?

php - 使用 PHP 更新表中的 MySQL "username"时出现问题

mysql - 我可以自动生成 Squeryl 数据对象来反射(reflect)现有的 MySql 模式吗?

sql - 有没有办法修剪 SELECT * FROM 语句中的所有数据?

mysql - 使用 mysql 和 nodeJS 构建一个 docker

sql - 联合两个选择基于某些列(而不是整行)删除重复项

android - 基于纬度和经度的邻近搜索

mysql - SQL:根据纬度/经度查找最近的邻居

php - mysql + php 的性能