数据库
首页 > 数据库> > mysql – Knex.js – 如何使用表达式更新字段

mysql – Knex.js – 如何使用表达式更新字段

作者:互联网

我们如何让Knex创建以下SQL语句:

UPDATE item SET qtyonhand = qtyonhand + 1 WHERE rowid = 8

我们目前正在使用以下代码:

knex('item')
    .transacting(trx)
    .update({qtyonhand: 10})
    .where('rowid', 8)

但是,为了使我们的库存应用程序在多用户环境中工作,我们需要使用qtyonhand值来添加或减去当时数据库中的实际内容,而不是传递更新语句时可能过时的值.执行.

解决方法:

这有两种不同的方式

knex('item').increment('qtyonhand').where('rowid',8)

要么

knex('item').update({
  qtyonhand: knex.raw('?? + 1', ['qtyonhand'])
}).where('rowid',8)

标签:mysql,sql-update,knex-js
来源: https://codeday.me/bug/20190716/1474706.html