有人可以告诉我为什么这不更新? id存在于表中,但不会更新。
let sql = `UPDATE Users
SET MMR = MMR-30, Lose = Lose+1
WHERE Nameid = ${data[0].Team1id}`;
db.run(sql, data, function(err) {
if (err) {
return console.error(err.message);
}
console.log(`Row(s) updated: ${this.changes}`);
});
但是当我编辑它时它会更新,但是我需要它来使用Nameid。因为如果team1更改其名称,它将不会在表中找到它自己!与此同时,你无法改变你的身份。
let sql = `UPDATE Users
SET MMR = MMR-30, Lose = Lose+1
WHERE Name = "${data[0].Team1name}"`; // this was changed
db.run(sql, data, function(err) {
if (err) {
return console.error(err.message);
}
console.log(`Row(s) updated: ${this.changes}`);
});
知道了!如果有一天有人遇到同样的问题,我会把它留在这里!
let sql1 = `UPDATE Users
SET MMR = MMR+25, Win= Win+1
WHERE Nameid = ?`;
db.run(sql1, data[0].Team1id, function(err) {
if (err) {
return console.error(err.message);
}
console.log(`Row(s) updated: ${this.changes}`);
});
答案 0 :(得分:1)
尝试console.log()
data[0].Team1id
,看看它给出了什么,
我真的无法在代码中看到任何问题,只是team1id
可能不正确。
另一件事......
您需要保护SQL,它易受SQL注入攻击。搜索" node.js安全用于MySQL注入"。