mysql - 将多条sql更新语句合并为一条语句

标签 mysql

我有以下用于 MySQL 的更新语句:

UPDATE billing_info_test SET Enagement = '800000032764' WHERE LinkedAccountId = '123456789101' AND Engagement = '800000026680';
UPDATE billing_info_test SET Enagement = '808000000000' WHERE LinkedAccountId = '123456789101' AND Engagement = '807000000041';
UPDATE billing_info_test SET Enagement = '807000000412' WHERE LinkedAccountId = '123456789101' AND Engagement = '870000012569';
UPDATE billing_info_test SET Enagement = '808000000223' WHERE LinkedAccountId = '123456789101' AND Engagement = '807000000279';
UPDATE billing_info_test SET Enagement = '808000000223' WHERE LinkedAccountId = '123456789101' AND Engagement = '807000000282';
UPDATE billing_info_test SET Enagement = '808000000223' WHERE LinkedAccountId = '123456789101' AND Engagement = '870000000403'; 

如何将所有这些组合成一个语句?

最佳答案

你可以使用 CASE 表达式:

UPDATE billing_info_test 
SET Enagement = CASE Enagement
                     WHEN '800000026680' THEN '800000032764'
                     WHEN '807000000041' THEN '808000000000'
                     WHEN ... THEN ...
                END
WHERE LinkedAccountId = '123456789101' 
  AND Engagement IN ('800000026680', '807000000041', ...);

关于mysql - 将多条sql更新语句合并为一条语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56762065/

相关文章:

PHP 表单无法插入 MySQL

php - 启动Xampp时MySql崩溃了?

mysql - winform查询中需要什么连接打开和关闭执行?

python - SQL 从临时表添加到现有表

optimization - MySQL 分区性能

MySQL 不会按链接分组

php - 如何从 php 创建新的 MySQL 数据库用户

php - 错误 "PHP Error wasArray to string conversion"

MySQL Alter table 添加与另一列唯一的列

mysql - 哪个数据库用于存储文件路径?