knex查询中缺少表名

时间:2019-03-20 19:09:06

标签: knex.js objection.js

我有一个运行Express和SQLITE的NodeJS服务器。

当我这样做时:

    const knexx = await knex('Users')
        .where({id: user.id})
        .update({ password: pwhashed }).toString()
    console.log(knexx)

以某种方式打印:

  

更新集password =   '$ 2a $ 08 $ / qIkAQfaqzkwtXHyV.94S.YJ8OMx0e8nrySW6idCueZIT / f5rdU4K',其中   id = 1

查询缺少表名。当我摆脱.toString时,它给了我:

{ [Error: SQLITE_ERROR: near "set": syntax error] errno: 1, code: 'SQLITE_ERROR' }

1 个答案:

答案 0 :(得分:0)

恕我直言,这暗示着表Users不存在(或者knexjs期望即使SQLite表名不区分大小写,也应该将其写成小写),可以使用以下方法轻松检查: / p>

knex.schema.hasTable('Users').then(function(exists) {
  if (!exists) {
       console.log('table doesnt exist');
    });
  }
});
相关问题