我是SQL新手,我很难为我的节点应用程序编写SQL查询。我想在WHERE语句中使用一个变量,但似乎还有更多。这就是我试过的......
var itemID = 3;
var stmt = db.prepare("UPDATE tableName SET status = 'Out' WHERE id = itemID");
stmt.run();
stmt.finalize();
任何建议表示赞赏。谢谢, 亚历
答案 0 :(得分:2)
您也可以这样做,
//直接在函数参数中。
var stmt = db.prepare("tableName SET status = ? WHERE id = ?", "out", $itemID);
//作为数组。
var stmt = db.prepare("tableName SET status = ? WHERE id = ?", [ "out", $itemID ]);
//作为具有命名参数的对象。
var stmt = db.prepare("UPDATE tableName SET status = $name WHERE id =$id", { $id: $itemID, $name: "out"});
答案 1 :(得分:-1)
你必须将变量移出字符串并连接它
var stmt = db.prepare("UPDATE tableName SET status = 'Out' WHERE id = " + itemID);
使用ES6,您可以使用字符串替换。请注意字符串周围的反引号而不是双引号
var stmt = db.prepare(`UPDATE tableName SET status = 'Out' WHERE id = ${itemID}`);