sequelize - массовая вставка при повторном обновлении
У меня есть следующая схема,
create table test (id int primary key ,x integer)
И я хочу обновить столбец х на дубликате со старым + новым значением
как следующий необработанный запрос с sequelize-nodejs.
INSERT INTO test (id,x) VALUES (1,5)
ON DUPLICATE KEY UPDATE x=x+VALUES(x);
1 ответ
Вы можете сделать что-то подобное:
Шаг 1: найти экземпляр
Шаг 2: обновите значение старым + новым
а также
Шаг 3: сохранить экземпляр
Table.find({
where: { //condition }
})
.then(entity => {
if (entity) {
entity.val += req.body.newVal;
return entity.save()
.then(() => {
res.status(200);
})
.catch(validationError(res));
} else {
return res.status(404).end();
}
})