Knex插入产生错误:“(”或附近的语法错误

时间:2019-03-26 18:39:36

标签: knex.js

以下插入出现错误:

return knex('accounts')
    .returning('id')
    .insert(account)
    .then(ids => {
        account.id = ids[0];
        return account;
    });
  

“(”或附近的语法错误

调试日志如下所示:

{ 
  method: 'insert',
  options: {},
  timeout: false,
  cancelOnTimeout: false,
  bindings: [ 'Fidelity Mastercard' ],
  __knexQueryUid: '7c0e3f8e-9de4-4a4d-8465-7f00e35a4701',
  sql: 'insert into  ("name") values (?) returning "id"',
  returning: 'id'
}

我在做什么错了?

数据库是PostgrSQL,并且初始化如下所示:

const dbConfig = {
    client: 'pg',
    debug: true,
    connection: {
        host: 'localhost',
        user: 'postgres',
        password: 'docker',
        database: 'mmm',
        charset: 'utf8'
    }
};

修改

请忽略此问题。我在编码时犯了一个愚蠢的错误。在上面的示例中,knex实际上是一个返回knex的函数。因此,呼叫应该是knex()('accounts')。谜团解决了!

1 个答案:

答案 0 :(得分:0)

从上面的编辑中可以看出,这是我的编码错误。