我正在尝试对 postgres 数据库中的行执行一个带有 sequelize 的更新命令。我需要能够使用相同的值更新具有不同条件的多行。
例如,假设我有一个包含以下字段的用户表:
- 身份证
- 名字
- 姓氏
- 性别
- 地点
- 创建时间
假设,我在这个表中有 4 条记录,我想用 ID 为 1 和 4 的记录更新一个新位置,比如尼日利亚。
像这样:SET field1 = 'foo' WHERE id = 1, SET field1 = 'bar' WHERE id = 2
我如何通过 sequelize 实现这一目标?
最佳答案
您可以一次更新多条记录,但所有记录的更新相同 , 如果你想对不同的条件进行不同的更新,那么你必须多次运行
示例:
这会将 fields1
更新为 foo ,其中 id
为 1 或 4
let ids = [1,4];
Your_model.update({ field1 : 'foo' },{ where : { id : ids }});
如果 id
为 1,这会将 field1
更新为 foo,如果 id
为 4,则将 field1
更新为 bar
Your_model.update({ field1 : 'foo' },{ where : { id : 1 }});
Your_model.update({ field1 : 'bar' },{ where : { id : 4 }});
希望这能消除您所有的疑虑。
关于javascript - 在不同条件下更新 sequelize 中的多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49643047/