我有一个运行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' }
答案 0 :(得分:0)
恕我直言,这暗示着表Users
不存在(或者knexjs期望即使SQLite表名不区分大小写,也应该将其写成小写),可以使用以下方法轻松检查: / p>
knex.schema.hasTable('Users').then(function(exists) {
if (!exists) {
console.log('table doesnt exist');
});
}
});