对 Node.js 更新 SQL 的算术有挑战

Having Challenges with Node.js Update SQL for Arithemetics

当我这样做时

更新fasta_users set balance = balance + 7000 where id =1;

它工作正常,没有挑战,但是当我想以编程方式处理它时,它告诉我 amount 必须是一列,我不明白为什么它会这样。

我的代码看起来是这样的:

app.put('/api/v1/user/fundWallet',async function(req,res,next){
    try {

        if (!req.headers.authorization || !req.headers.authorization.startsWith('Bearer ') || !req.headers.authorization.split(' ')[1]) {
            return res.status(422).json({ message: 'Please Provide Token!' })
        }

        var id = req.body.id;
        const amount = req.body.amount;
        if (!id) {
            return res.status(400).send({ error: true, message: 'Please provide ID' });
        }
        dbConn.query(`update fasta_users set balance = balance + amount=${amount} where id =${id}`,function (error, results, fields) {
            if (error) throw error;
            return res.send({ error: false, data: results, message: 'users List.' });
        });

    } catch (err) {
        next(err);
    }
})

我不明白为什么会这样。请问我确实需要 guidance.Or 我必须在这里使用存储过程吗?

您的代码生成的 SQL 与您的测试不同 - 它发送

update fasta_users set balance = balance + amount=7000 where id =1

(假设 amount 和 id 的值与您问题中的值相同)。

摆脱 amount= 应该可行。