【问题标题】:Why is this SQLite in JavaScript not working?为什么 JavaScript 中的这个 SQLite 不起作用?
【发布时间】:2023-03-09 07:41:01
【问题描述】:

我的程序中包含了 SQLite 和 SQLite 语句。我有一个名为 PILE 的表,PILE 表有以下列

词|意思|频率|C1|C2|C3|C4|C5

tx.executeSql(

"UPDATE PILE SET ? = COALESCE( (SELECT ? FROM PILE WHERE word = ?), 0 ) -1 WHERE word = ?", 

            [category1, category1, incorrectmanualanswer, incorrectmanualanswer] ,
 errorcode  );

alert("down "+category1+"+"+incorrectmanualanswer);

以上不执行。我确实在以下警报窗口中看到了正确的值

但下面的执行完美

function screenONEpress(tx) 
{               
tx.executeSql(

"UPDATE PILE SET frequency = COALESCE( (SELECT frequency FROM PILE WHERE word = ?), 0 ) + 1 

WHERE word = ?", [newEword, newEword] , errorcode   );

}

【问题讨论】:

    标签: javascript sqlite


    【解决方案1】:

    参数插值对sql语句中使用的参数进行引用和转义,并且不会在sql代码中插入裸词。所以生成的 sql 看起来像 UPDATE PILE SET 'category1' = COALESCE( ... 这是一个语法错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-27
      • 1970-01-01
      • 1970-01-01
      • 2012-02-22
      • 2016-12-22
      • 1970-01-01
      相关资源
      最近更新 更多