我想使用一个字段中的先前值对模型运行更新查询。
这会将模型(行ID = 4)的“ seq”字段更新为5。
Model.update({
seq: 5
},{
where:{
'id':4,
}
});
现在如何将模型更新为存储在“ seq”字段中的先前值+ 5?
Model.update({
seq: 'seq' + 5
},{
where:{
'id':4,
}
});
答案 0 :(得分:4)
您可以使用Model.update({ seq: sequelize.literal('seq + 5') }, { where: { id: model_id } });
或者您可以使用increment
方法
http://docs.sequelizejs.com/class/lib/model.js~Model.html#static-method-increment
Model.increment('seq', { by: 5, where: { id: 'model_id' });
答案 1 :(得分:2)
您可以使用增量来实现
Model.increment(
{ seq: +5 },
{ where: { id: 4 } }
);
并输出:
UPDATE `Model` SET `seq`=`seq`+ 5 WHERE `id` = 4
答案 2 :(得分:0)
假设你想通过值 5 增加 aa 列,其中性别是女性
Users.increment('aa', { by: 5, where: { gender: 'female' } });