簡體   English   中英

Knex-更新行中選擇值

[英]Knex - updating rows where value from select

我正在使用一個sqlite3數據庫,並具有這兩個表。

清單

  • ID
  • OriginID

屬性

  • ID
  • ListID
  • OriginList

Attributes.OriginList == List.OriginID

我需要更新“屬性”中的行以匹配當前的List.ID。 我正在使用Knex,當前的原始查詢如下所示:

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

我剛開始使用DB時,一直在嘗試想出沒有原始方法的方法,但是並沒有成功。 有這種方法嗎?

這樣的事情應該創建OP中提到的RAW查詢:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM