我正在尝试使用 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")
};