我应该使用更新还是批量更新?

问题描述

嗨,我正尝试使用原始sql的续集来更新表中的两个数据点,如下所示:

await db.sequelize.query(`UPDATE Person SET status=:status WHERE loginName IN(:loginName)`,{
  replacements: {
    status: 'inactive',loginName: ['name1','name2']
  },type: sequelize.QueryTypes.BULKUPDATE
});

我应该使用sequelize.QueryTypes.BULKUPDATE还是仅使用sequelize.QueryTypes.UPDATE?我不熟悉使用哪一个,因为我只是用WHERE条件更新了两行,而不是一堆数据。

编辑:不仅会给出解决方案,而且会说明背后的原因/概念的答案将被选择。

解决方法

Sequelize原始查询返回包含[results,metadata]的数组。由于您正在执行UPDATE查询,并且似乎不需要结果,因此无需设置options.type

根据序列docs,查询类型“影响结果在传递回结果之前的格式”,并且“ Sequelize.QueryTypes作为便捷快捷方式提供。”

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...