PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

mise à jour de plusieurs clés postgres jsonb_set

La documentation indique :

Donc, en utilisant vos données d'exemple :

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

De plus, si l'objet que vous souhaitez modifier n'est pas au niveau supérieur, combinez simplement la concaténation et jsonb_set fonction. Par exemple, si les données d'origine ressemblent à

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

alors

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