[英]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.