首页 > 解决方案 > MySQL - 我想在不使用 PHP 的情况下根据选择查询更新多行

问题描述

我想像这样执行更新查询。

UPDATE reg_form set wallet_balance in("10","22","25") where id in("1","2","3");

我知道更新的语法是: UPDATE reg_form set wallet_balace = '10' where ...... 但我想执行突出显示的查询。

在这里,电子钱包余额应该根据 id 进行更新。

编辑:-

在这里,我仅将语法作为示例。在实际场景中,我从另一个表中获取金额,以及基于表中 user_id 更新的金额之和。

喜欢,

更新 reg_form set wallet_balance in (SELECT 退款金额) where user_id in (SELECT user_id from 退款);

所以,在这里我期待动态行为。许多用户将根据他们的ID获得退款,而无需手动检查案例。

标签: mysql

解决方案


如果我理解您的问题正确,您可以简单地在多个查询中执行此操作。这些都可以同时执行。

UPDATE reg_form SET wallet_balance = '10' WHERE id = 1;
UPDATE reg_form SET wallet_balance = '22' WHERE id = 2;
UPDATE reg_form SET wallet_balance = '25' WHERE id = 3;

编辑

这是否回答了您的后续问题?基于 SELECT Query 的 UPDATE 查询

你会做这样的事情:

UPDATE reg_form AS a
INNER JOIN refund AS b ON a.id = b.id
SET a.wallet_balance = b.refund_amount

推荐阅读