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