簡體   English   中英

使用 jsonb_set() 更新 JSON 類型的列

[英]Update JSON-type column with jsonb_set()

我試圖通過jsonb_set更新books表的data列(類型為json

UPDATE books 
SET data = jsonb_set(data, '{borrowers}', '[{"name":"john doe","time":"1:00PM"}]')
WHERE id= 'some_id';

並遇到了這個錯誤:

> ERROR:  function jsonb_set(json, unknown, unknown) does not exist

我發現在文檔中, jsonb_set僅適用於jsonb類型

jsonb_set(target jsonb, path text[], new_value jsonb [, create_missing boolean])

但我無權將列類型更新為jsonb 那么在這種情況下我該如何解決呢?

通過類型轉換想出了一個簡單的技巧

UPDATE books 
SET data = jsonb_set(data::jsonb, '{borrowers}', '[{"name":"john doe","time":"1:00PM"}]')
WHERE id= 'some_id';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM