2017-01-18 4 views
0

場合によっては1で列を増分する必要がありますが、その列の既定値は0ではなくnullです。 sequelizeを使用してこのケースを処理するにはどうすればよいですか?どのような方法を利用することができますか?既定値がNULLの列を増やす

私は、1つのクエリでnullの列をチェックし、それに応じて2番目のクエリでそれを更新することができます。ただし、より良いものを探しています。私はこの1回の呼び出しを処理できますか?

答えて

0

私は後遺症で大変な経験はしていないと告白しますが、一般的にはIFNULLを利用したいと考えています。生のクエリがどのように見えるかをここにあります:バックsequelizeに行く

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で立ち往生しています。

関連する問題