如何在一个查询中增加具有不同值的不同行 SQL?

How to Increment different rows with different values in one query SQL?

这是我的 user_wallets table:

id 余额
一个 70
B 40

我想在单个查询中增加用户 A 的余额 30 和用户 B 的余额 10

而且我想知道在 TypeORM 中是否可行。 ( raw SQL 对我也有用)

提前致谢。

您可以这样使用 values

update t
    set t.balance = t.balance + v.inc
    from (values ('A', 30), ('B', 10)) v(user, inc)
    where t.user = v.user;

将所有更改放在 values() 中使查询易于维护(例如,添加新用户)。它也比大的 case 表达式简单得多。 where 子句仅过滤到正在更改的行。