有人可以告诉我为什么这没有更新吗?表中存在该 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 更改其名称,它将不会在表格中找到自己!同时,您无法更改您的 ID。
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}`);
});
尝试console.log()
data[0].Team1id
,看看它给出了什么,我真的看不出代码中的任何问题,只是team1id
可能不正确。
另一件事...
您需要保护 SQL,它容易受到 SQL 注入的攻击。搜索"node.js secure for MySQL injection"。