gpt4 book ai didi

javascript - 如何在我的sql中使用一个命令更新单个表中的两行

转载 作者:行者123 更新时间:2023-11-30 21:55:54 26 4
gpt4 key购买 nike

我有一张 table

 accountdetails

有字段

customerid,balance,account id

现在我试图通过我的 Node 应用程序更新它,当我转移金额时,在一个记录中应该借记该值,而在另一个记录中应该记入该值

var data = {customerid,transferamount,accountid};


con.query('update accountdetails set balance = balance-? WHERE customerid = ? ,
[data.transferamount,data.customerid]')

con.query('update accountdetails set balance = balance+? WHERE accountid = ?,
[data.transferamount,data.accountid]')

所以目前我有两个命令来执行此操作,我们怎么能将其限制为一个命令,因为这两个命令基本上都是在更新单个表。

任何想法

最佳答案

同意@kawadhiya21 的观点,也许最好不要这样做...您必须对这两种情况进行基准测试才能确定性能,但总的来说,这是可能的:

sql = 'update accountdetails';
sql += 'set balance = if(customerid = ?, balance - ?, if(accountid = ?, balance + ?, balance) ) ';
sql += 'where customerid = ? or accountid = ?';
con.query(sql, [
data.customerid,
data.transferamount,
data.accountid,
data.transferamount,
data.customerid,
data.accountid
]);

关于javascript - 如何在我的sql中使用一个命令更新单个表中的两行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45237796/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com