【问题标题】:Error: SQLITE_RANGE: column index out of range at SELECT statement错误:SQLITE_RANGE:SELECT 语句中的列索引超出范围
【发布时间】:2020-07-29 13:40:14
【问题描述】:

这是我的 SELECT 声明,其中有一个占位符 ?

   "select mac_empfangen,count(mac_empfangen) as sum " +
   "FROM mac_erfassung  " +
   "where spender_betaetigt=1 " +
   "and DATE(zeit) >= DATE('now', 'weekday 0', '-? days')" +
   "group by  mac_empfangen"

然后我执行它

db.all(sql,30,(err,results)=>{
  console.log(results)
}

但终究会出现错误

[Error: SQLITE_RANGE: column index out of range] {
  errno: 25,
  code: 'SQLITE_RANGE'
}

当我运行硬编码的语句(没有占位符)时,它工作正常。

有什么建议吗?

【问题讨论】:

    标签: sql node.js sqlite date where-clause


    【解决方案1】:

    我认为您需要在这里进行字符串连接:

    and DATE(zeit) >= DATE('now', 'weekday 0', '-' || ? || ' days')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-30
      • 1970-01-01
      相关资源
      最近更新 更多