我正在嘗試通過 jsonb 請求在我的 JSON 物件中添加一個新的 bool 欄位,但它不起作用。我應該如何更改請求?
update source_settings
set settings = settings - 'isEnabled' ||
jsonb_build_object('isEnabled', settings->'isEnabled')
where settings ? 'isEnabled';
uj5u.com熱心網友回復:
如果要添加新密鑰,只需使用||
update source_settings
set settings = settings || jsonb_build_object('isEnabled', true)
where not (settings ? 'isEnabled');
WHERE 子句將確保只更改不存在鍵的行。所以settings已經包含"isEnabled"的行不會改變。
如果密鑰不存在,那么 usingsettings->'isEnabled'沒有意義,因為它總是會回傳null
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/476019.html
標籤:json PostgreSQL jsonb
上一篇:選擇哪個SQL查詢?
