2017-02-13 6 views
0

우리가 어떻게 Knex는 다음과 같은 SQL 문 생성합니까 식 필드를 업데이트하는 방법 :Knex.js -

knex('item') 
    .transacting(trx) 
    .update({qtyonhand: 10}) 
    .where('rowid', 8) 

: 우리는 현재 다음과 같은 코드를 사용하고

UPDATE item SET qtyonhand = qtyonhand + 1 WHERE rowid = 8 

을 그러나 인벤토리 응용 프로그램이 다중 사용자 환경에서 작동하려면 update 문이 실행될 때까지 유효하지 않을 수있는 값을 전달하지 말고 그 순간에 실제로 데이터베이스에있는 내용을 더하거나 뺄 때 qtyonhand 값이 필요합니다. 실행.

답변

3

는 다음 2 개 가지 방법

knex('item').increment('qtyonhand').where('rowid',8) 

또는

knex('item').update({ 
    qtyonhand: knex.raw('?? + 1', ['qtyonhand']) 
}).where('rowid',8) 
있습니다