节点js knex更新表中的记录

时间:2021-02-15 07:27:13

标签: node.js knex.js

我正在尝试使用 knex 更新更新令牌表中的记录。 尝试更新时出现异常

代码:

async function updateUserToken(changeBody) {
  var result = await knex('tokens').where({ user_id: changeBody.user_id }).update({
    auth_token: changeBody.auth_token,
  });
  console.log(result);
}

例外是:

Error: update  set `auth_token` = 'qwer' where `user_id` = 1 - SQLITE_ERROR: near "set": syntax error

迁移文件:

exports.up = function(knex) {
    return knex.schema.createTable('users',  table  => {
        table.increments()
        table.string('email').primary
        table.string('name')
        table.string('password')
        table.timestamps();
    })
    .createTable('tokens',table => {
        table.integer('user_id').references('id').inTable('users').onDelete('CASCADE')
        table.string('auth_token')
    })
    .createTable('address', function (table) {
        table.increments()
        table.integer('user_id').references('id').inTable('users').onDelete('CASCADE')
        table.string('address_name').primary
        table.string('address_description')
        table.float('latitude')
        table.float('longitude')
    })
    .createTable('phones', function (table) {
        table.increments()
        table.integer('user_id').references('id').inTable('users').onDelete('CASCADE')
        table.string('phone_number').primary
    })
    .createTable('items', function (table) {
        table.increments()
        table.integer('user_id').references('id').inTable('users').onDelete('CASCADE')
        table.string('item_name')
        table.string('item_description')
        table.string('item_image_url')
    })
    .createTable('borrow_list', function (table) {
        table.increments()
        table.integer('user_id').references('id').inTable('users').onDelete('CASCADE')
        table.integer('item_id').references('id').inTable('items')
        table.int('item_owner_user_id')
        table.string('item_borrower_user_id')
        table.string('deal_state')
    })
};

exports.down = function(knex) {
  return knex.schema.dropTableIfExists("users").dropTableIfExists("address").
                dropTableIfExists("phones").dropTableIfExists("items")
};

0 个答案:

没有答案