【发布时间】:2019-03-12 04:20:26
【问题描述】:
在这里,我需要使用带有 node.js 后端的 sequlize 将如下所示的 json 添加到 SQL Server 数据库中。
[
{
"id":2,
"name":"akjnsd",
"description":"ijhoas",
"order_num":0,
"createdAt":"2018-10-02T04:33:13.432Z",
"updatedAt":"2018-10-02T04:33:13.432Z",
"columnId":1
},
{
"id":1,
"name":"Seting up environment",
"description":"Need to discuss",
"order_num":1,
"createdAt":"2018-10-02T03:22:50.212Z",
"updatedAt":"2018-10-02T03:22:50.212Z",
"columnId":1
}
]
await models.Card.bulkCreate(newColumnCards,
{
fields:["order_num", "columnId"] ,
updateOnDuplicate: ["order_num", "columnId"]
} );
上面的代码 sn-p 也用于完成我的任务。所以这里 order_num、columnId 正在发生变化,需要更新 SQL Server 数据库中的所有这些更新值,并且如果特定 id 不在 Card 表中(A bulk upsert),则需要插入。
但我收到以下错误消息,即不支持批量更新。那么是否可以解决或者有其他解决方案吗?
错误:mssql 不支持“updateOnDuplicate”选项。
注意:我使用的是 SQL Server 2017。我通过 stackoverflow 解决了这类问题。但找不到具体的答案。
如果不支持,有没有办法在sql server上实现批量更新?
【问题讨论】:
标签: node.js sql-server sequelize.js