在Node.js中的SQLITE Where子句中使用变量

时间:2016-10-12 05:26:09

标签: node.js sqlite

我是SQL新手,我很难为我的节点应用程序编写SQL查询。我想在WHERE语句中使用一个变量,但似乎还有更多。这就是我试过的......

var itemID = 3;

var stmt = db.prepare("UPDATE tableName SET status = 'Out' WHERE id = itemID");
stmt.run();
stmt.finalize();

任何建议表示赞赏。谢谢, 亚历

2 个答案:

答案 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}`);