mysql - 如何在mysql中执行批量查询更新列值

标签 mysql

例如,我有一个包含两列的帐户表,ID 和 A_NUMBER。 我想在具有不同值的单个查询中更新 A_NUMBER 值。 “更新帐户设置 A_NUMBER="0135"其中 ID=131; 更新帐户设置 A_NUMBER="0145"其中 ID=132; 更新帐户设置 A_NUMBER="0155"其中 ID=133; 更新帐户设置 A_NUMBER="0160"其中 ID=134; 更新帐户设置 A_NUMBER="0175"其中 ID = 135; 更新帐户设置 A_NUMBER="0180"其中 ID=136; 更新帐户设置 A_NUMBER="0195"其中 ID=137; 更新帐户设置 A_NUMBER="0200"WHERE ID=138;"

最佳答案

您应该使用“CASE”语句:

UPDATE tbl SET A_NUMBER = CASE
WHEN id = 1 THEN ‘0135’
WHEN id = 2 THEN ‘0175’
...
END
WHERE id IN (1,2,...)

希望对你有帮助

关于mysql - 如何在mysql中执行批量查询更新列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3170429/

相关文章:

php - PDO 多重查询理解问题

mysql - 如何将两个模型与 sequelize 相关联? (1 :n) and (m:n)

mysql - Spring Boot 应用程序使用 mysql 进行扩展

php - 如何正确编写查询 SELECT'ing 多个表

php - MySQL SELECT SUM 基于另一个表(另一个案例)

mysql - 在mysql中以特定格式从3个相关表中检索值

mysql - 如何在特定数据库中创建表?

mysql - “INSERT INTO”不会将数据插入到我的 sql 数据库中

php - Drupal 7 EntityFieldQuery 分类字段的字段条件(多个值)不在我的排除数组中

php - laravel 4 中的 3 个模型 - 通过关系 whereHas 查询进行选择