2017-04-07 1 views
0

私はsqlite3 DBを使用しており、これら2つのテーブルを持っています。Knex - 値を選択して行を更新する

一覧

  • ID
  • OriginID

属性:

  • ID
  • ListID私は現在List.ID.と一致する属性の行を更新する必要が
  • OriginList

Attributes.OriginList == List.OriginID

私はKnexを使用していますし、私の現在の生のクエリは次のようになります。私はただのDBを始めと生せずにこれを行う方法を思い付くしようとしてきたが、成功していない

UPDATE Attributes 
SET ListID = (SELECT ID 
       FROM List 
       WHERE OriginID = Attributes.OriginList) 

。そんなやり方はありますか?このような

答えて

0

何かがOPで述べたRAWクエリを作成する必要があります。

knex('Attributes').update({ 
    ListID: knex('List').select('ID').where('OriginID', knex.raw('??', ['Attributes.OriginList'])) 
}) 
+0

を意図したとおりに働いて、ありがとうございました。 – Kuasta

関連する問題