我想将这种类型的请求与 sequelize 一起使用,以便在一个请求中进行大量更新(出于性能原因):
UPDATE employee
SET address = new.address,
name = new.name
from (values :updateStack) AS new(address, name, employeeId)
WHERE employee.id = new.employeeId
这是 updateStack
的值:
[{
address: 'France',
name: 'Chris',
employeeId: 21
}, {
address: 'UK',
name: 'Steve',
employeeId: 42
}]
我不确定 sequelize 如何正确解析 updateStack 数组。 有什么想法吗?
此 SQL 查询工作正常:
UPDATE employee
SET address = new.address,
name = new.name
from (values ('France', 'Chris', 21), ('UK', 'Steve', 42)) AS new(address, name, employeeId)
WHERE employee.id = new.employeeId
谢谢你,祝你有美好的一天。
最佳答案
我已经找到方法了!
sequelize.query(
`
UPDATE employee
SET address = new.address,
name = new.name
from (values ?) AS new(address, name, employeeId)
WHERE employee.id = new.employeeId
`,
{
replacements: [['France', 'Chris', 21], ['UK', 'Steve', 42]],
type: models.models.sequelize.QueryTypes.INSERT
}
)
关于node.js - 使用带有 Sequelize 的原始批量更新查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56804597/