我使用knex用Node.js的我想要做一个数学查询 (我想添加+1到已经存在的值)MySQL的knex数学运算
我想这样做在knex
UPDATE fares SET fare=fare + 70
这是我在knex查询,我得到的数据库中的
knex('table').update({ fares: 'fares' + 70}).then(function() {});
我使用knex用Node.js的我想要做一个数学查询 (我想添加+1到已经存在的值)MySQL的knex数学运算
我想这样做在knex
UPDATE fares SET fare=fare + 70
这是我在knex查询,我得到的数据库中的
knex('table').update({ fares: 'fares' + 70}).then(function() {});
在knex是0它的只是操作为string plus number
,将其更改为:
knex('table').update({ fares: '`fares` + 70'}).then(function() {});
试试这个:
knex('table').update({
fares: knex.raw('?? + 70', ['fares'])
})
由于表名是 '票价',然后选择恰当的答案应该是:
var number = 70;
knex('fares')
.update({
fare: knex.raw(`?? + ${number}`, ['fare'])
})
.then((result) => {
console.log(result);
});
看?你可以通过你的任何值现在这个数字
你不需要使用.raw()
,虽然它会正常工作。有内置的能力使用.increment()
递增。请参阅:doc link
样品从文档:
knex('accounts')
.where('userid', '=', 1)
.increment('balance', 10)
...,并使用你的表/字段名,并为更新量的值的变量。
knex('fares')
.increment('fare', fareIncrementAmount)
快乐编码!
也是如何传递变量而不是硬编码的70 knex.raw('?? + number',['fares']); ?谢谢! –
你可以参考文档http://knexjs.org/ – abdulbarik