sql >> Database teknologi >  >> RDS >> PostgreSQL

postgres jsonb_set opdatering af flere nøgler

dokumentationen siger :

Så ved at bruge dine eksempeldata:

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

Hvis det objekt, du vil redigere, ikke er på øverste niveau - kombinerer du blot sammenkædningen og jsonb_set fungere. For eksempel hvis de originale data ser ud som

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

derefter

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


  1. Hent mere end 3 data fra mysql ind i afkrydsningsfeltet

  2. Laravel kan ikke bruge mysql_real_escape_string()

  3. $stmt->close() vs $stmt->free_result()

  4. Hvordan når dette CASE-udtryk til ELSE-sætningen?