Javascript 无法更新插入的行

Javascript 无法更新插入的行,javascript,sql,node.js,sqlite,Javascript,Sql,Node.js,Sqlite,在重新启动node.js应用程序之前,无法更新插入的行。 我在SELECTquery中使用INSERT语句,如果这很重要的话 var stmt=db.prepare(“插入到moneyset(userID、money、lastDaily、answer)值(?,?,?)”; stmt.run(user.id,0,'未收集',null); stmt.finalize(); 在我使用的同一事件侦听器的下一个作用域中 db.run(`updatemoneyset-SET-answer='${answe

在重新启动node.js应用程序之前,无法更新插入的行。 我在
SELECT
query中使用INSERT语句,如果这很重要的话

var stmt=db.prepare(“插入到moneyset(userID、money、lastDaily、answer)值(?,?,?)”;
stmt.run(user.id,0,'未收集',null);
stmt.finalize();
在我使用的同一事件侦听器的下一个作用域中

db.run(`updatemoneyset-SET-answer='${answer}',其中userID='${user.id}`);
但第二个查询似乎从未被使用过,也不起作用。 没有错误,所有变量都是正确的类型,没有未定义。 如果该行是在应用程序启动之前创建的,或者是在应用程序重新启动之后创建的(这不是所需的行为),则一切正常。
Hastebin和整个代码片段:

将插入函数包装在承诺中

返回新承诺((解决、拒绝)=>{
db.get(`SELECT*FROM moneyset,其中userID='${gMember.user.id}`,(err,row)=>{
如果(!行){
//var stmt=db.prepare(“插入到货币集(userID、money、lastDaily、answer)值(?,?,?)”;
////db.run(`INSERT-INTO-moneyset(userID,money,lastDaily,answer)值(${user.id},0,NULL,NULL)`);
//stmt.run(user.id,0,'未收集',null);
//stmt.finalize();
money.updateBal(user.id,1).then(()=>{console.log(`Created row for${user.username}`));
决议(1)
}否则{
if(row.answer!=null){
console.log(row.answer);
返回gMember.send(`Jużwybrałeśodpowiedźdo ostatniego pytania**>${row.answer}{
开关(表情符号){

case'您在传递给
db.get
的回调函数中插入行。您必须使用回调,因为
db.get
是异步的。这意味着您的
开关
块在插入行之前运行。在回调函数中移动
开关
块。@ChrisG Moving
开关
块修复了问题.非常感谢您对新手感兴趣issue@ChrisG我只是意识到现在我不能使用我的
\u投票
变量,因为范围问题(我想)。它似乎从未被设置过,我不知道为什么。请将相关代码放入问题中,我们可以看一看。此原始代码似乎对我不起作用。将需要更大的上下文来实现此功能,因为我不怀疑其正确性。