对 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=
应该可行。
当我这样做时
更新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=
应该可行。