PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

postgres jsonb_set Aktualisierung mehrerer Schlüssel

Die Dokumentation sagt :

Verwenden Sie also Ihre Beispieldaten:

update table_name set
    data = data || '{"city": "ottawa", "phone": "phonenum", "prefix": "prefixedName"}'
    where number = 1;

Wenn sich das zu bearbeitende Objekt nicht auf der obersten Ebene befindet, kombinieren Sie einfach die Verkettung und jsonb_set Funktion. Wenn die Originaldaten beispielsweise so aussehen

{"location": {"name": "firstName", "city": "toronto", "province": "ON"}}

dann

...
data = jsonb_set(
    data, 
    '{location}', data->'location' || '{"city": "ottawa", "phone": "phonenum", "prefix": "prefixedName"}')
...