将列的默认值增加为null

时间:2017-01-18 18:59:14

标签: node.js sequelize.js

我需要在某些情况下使用null增加列,但该列的默认值为Application.Current.DispatcherUnhandledException而不是零。如何使用sequelize处理此案例?可以使用什么方法?

我可以通过在一个查询中检查列为null并使用sequelize在第二个查询中相应地更新它,但我正在寻找更好的东西。我可以处理这一个电话吗?

1 个答案:

答案 0 :(得分:0)

我承认我对续集没有太多经验,但总的来说你会想要利用IFNULL。以下是原始查询的外观:

UPDATE SomeTable
  SET some_column = IFNULL(some_column, 0) + 1
  WHERE <some predicate>

回到续集,我想你正在尝试使用.increment(),但从相关的source判断,看起来它不会接受任何可以帮助你的技巧。

浏览文档时,您似乎可以通过以下方式逃脱:

SomeModel.update({
    some_column: sequelize.literal('IFNULL(some_column, 0) + 1')
}, {
    where: {...}
});

如果这不起作用,您可能会遇到raw query