Postgresql-13
如何更新 jsonb 欄位的多個屬性?
如何一次更新年齡和狀態,
我有一個 jsonb 欄位類型,我需要更新 2 個屬性(年齡和狀態)。我只能更新年齡和狀態,使用下面的命令,如何一次更新“年齡”和“狀態”?
**Update test Set attributes = jsonb_set(attributes, array['age'],to_jsonb(32))**
該
jsonb_set
函式接受一個jsonb
值作為其第一個參數並返回另一個jsonb
值,這是應用修改的結果。您可以將結果jsonb
值傳遞給另一個jsonb_set
呼叫,您將在其中應用第二個更改。這將導致嵌套jsonb_set
呼叫,正如評論中建議的a_horse_with_no_name。該聲明看起來像這樣:UPDATE test SET attributes = jsonb_set( jsonb_set(attributes, array['age'], to_jsonb(32)) , array['status'] , to_jsonb('some new status'::text) ) ;