在一个更新请求中更新多个记录

mnemlml8  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(261)

我正在尝试根据货币表中每个记录的货币代码更新多个记录的余额,结果如下:

UPDATE Currency
SET `Balance` = `Balance` - NEW.AmountOut WHERE `CurrencyCode` = ?,
    `Balance` = `Balance` + NEW.AmountIn - NEW.Commission WHERE `CurrencyCode` = ?;

我相信你看到了逻辑,但我的实现似乎有点混乱。我哪里做错了?解决方法是什么?

az31mfrm

az31mfrm1#

使用 case when 例子

update Currency
set Balance= case when CurrencyCode= ? then `Balance` - NEW.AmountOut
 else `Balance` + NEW.AmountIn - NEW.Commission end

相关问题