在DB Browser中运行SQLite而不在node.js代码中运行时,SQL语句运行得很好。我需要进行任何更改吗?
我创建了一个查询,如果指定的值不存在,则将值插入表中;如果确实存在,则将UPDATE值插入表中。 在用于SQLite的数据库浏览器中运行时,查询工作正常,但是当我尝试在代码中实现该查询时,UPDATE语句有效,但INSERT语句无效,没有错误返回。为什么会这样?
let sql2 = `UPDATE inventory
SET item_name = '${itemChosen}', item_amount = ${amountChosen) where discordId = '${user}';
INSERT INTO inventory (discordId,item_name,item_amount)
select '${user}','${itemChosen}',${amountChosen}
WHERE (Select changes() = 0);`;
db.all(sql2, [], (err, rows) => {
if (err) {
throw (err)
}
message.reply("Item purchased!");
})
UPDATE语句工作正常,但是INSERT语句将永远不会执行。没有错误消息返回。