So können, sagen, ich habe zwei geordnete Anordnungen mit der gleichen Anzahl von Elementen, wobei jeder Index jedes Array auf die andere bezieht sich auf den gleichen IndexEinzel Update-Abfrage von zwei geordneten Arrays
values = [ 5, 7, 8, 9 ]
keys = ['a', 'b', 'c', 'd' ]
anstatt das zu tun mehrere Updates innerhalb einer Schleife
for thing, index in values
UPDATE table SET column1 = thing WHERE column2 = keys[index]
ist es eine Möglichkeit, diese Arrays in Postgres zu ziehen und sie in einer einzigen UPDATE
Abfrage verwenden?
Etwas wie:
UPDATE table SET column1 = values[?] WHERE column2 = keys[?]
es gibt nicht eine direkte Art und Weise. Sie müssen diese zwei Array in eine Tabelle mit http://stackoverflow.com/questions/8760419/postgresql-unnest-with-element-number konvertieren –
Wenn Sie die Schlüssel und Werte zusammen in einem Hstore oder Json-Objekt speichern, wäre es ziemlich einfach zu tun, aber nichts direkt. – Wolph