是否可以使用sequelize部分更新行?

时间:2017-11-13 12:34:05

标签: mysql node.js sequelize.js

假设我有一个这样的表:

enter image description here

以及包含[ {ID: '0', Name: 'Leo', Age: 21, CurrentState: 5}, {ID: '1', Name: 'George', Age: 26, , CurrentState: 6}, {ID: '2', Name: 'Diana', Age: 27, , CurrentState: 4} ]

的对象数组

如何在不影响ID列值的情况下更新列NameAgeCurrentStateIsAdmin

如果我运行以下代码

Table.bulkCreate([
  {ID: '0', Name: 'Leo', Age: 21, CurrentState: 5},
  {ID: '1', Name: 'George', Age: 26, , CurrentState: 6},
  {ID: '2', Name: 'Diana', Age: 27, , CurrentState: 4}
], {
  updateOnDuplicate: true
})

更新行的IsAdmin的所有值都将设置为FALSE,这是默认值。

我该如何避免这个问题?

1 个答案:

答案 0 :(得分:1)

只传递一组只需要更新的属性

CS1660: Cannot convert lambda expression to type 'string' because it is not a delegate type

options.updateOnDuplicate

  • 数组
  • 可选的
  • 如果行密钥已存在,则更新字段(重复密钥更新时)? (仅由mysql支持)。默认情况下,所有字段都会更新。