簡體   English   中英

Postgres - json 中的增量值

[英]Postgres - Increment value in json

您好,我有類型為 JSON 的列,我在其中存儲例如 '{ "foo": 0 }' 現在我想編寫觸發器,它將是特定操作的增量值。 我有問題,因為如果更新值不存在,我不知道如何增加或設置 0 值。 我嘗試編寫 function 類似於此處的代碼: https://stackoverflow.com/a/44563662/10999632但這是不可能的,因為:

ERROR:  function jsonb_set(json, unknown, jsonb) does not exist
LINE 2: SET payload = jsonb_set(payload, '{bar}', (COALESCE(payload-...
                      ^
HINT:  No function matches the given name and argument types. You might need to add explicit type casts.

顯然,您的列payload定義為json ,而不是jsonb

您需要將列轉換為jsonb才能使用jsonb_set()

SET payload = jsonb_set(payload::jsonb, '{bar}', ...)

暫無
暫無

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

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