2017-04-07 3 views
0

Ich benutze eine SQLite3 DB und habe diese zwei Tabellen.Knex - Aktualisieren von Zeilen mit Wert von

Liste:

  • ID
  • ORIGINID

Attribute:

  • ID
  • ListID
  • OriginList

Attributes.OriginList == List.OriginID

Ich brauche Zeilen Attribute zu aktualisieren, um die aktuellen List.ID. anzupassen Ich verwende Knex und meine aktuelle rohe Abfrage sieht wie folgt aus:

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

ich mit DBs gerade erst begonnen und haben versucht, mit Möglichkeiten zu kommen diese ohne roh zu tun, aber sind nicht erfolgreich gewesen. Gibt es so einen Weg?

Antwort

0

So etwas sollte die RAW-Abfrage in OP erwähnt erstellen:

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

wie beabsichtigt Arbeitete, danke. – Kuasta

Verwandte Themen