這是 PostgreSQL 9.5 版以上才有的語法
詳細可參考這裡:http://www.postgresql.org/docs/9.5/static/functions-json.html
1. 首先我們先建立一個 Json 表格
CREATE TABLE json (data JSONB);
2. 插入 Json 資料
INSERT INTO json VALUES ('{"A":"B"}');
3. 查看我們剛剛的資料
SELECT * FROM json;
data
------------
{"A": "B"}
4. 更新資料 (在舊 Json 中接續插入新的 Json)
UPDATE json SET data = jsonb_set(data, '{X, Loli}', '"Love"');
5. 察看結果 (舊資料中出現新的Json資料了):
SELECT * FROM json;
data
-----------------------------------
{"A": "B", "X": {"Loli": "Love"}}
6. 加入陣列
UPDATE json SET data = jsonb_set(data, '{X}', '[]');
SELECT * FROM json;
data
---------------------
{"A": "B", "X": []}
7. 插入陣列新值:
UPDATE json SET data = jsonb_set(data, '{X, *}', '0');
UPDATE json SET data = jsonb_set(data, '{X, *}', '1');
UPDATE json SET data = jsonb_set(data, '{X, *}', '100');
SELECT * FROM json;
data
---------------------
{"A": "B", "X": [0, 1, 100]}
8. 刪掉陣列中其中一個值:
UPDATE json SET data = data #- '{X, 2}';
data
---------------------
{"A": "B", "X": [0, 1, 100]}
公告版位
需要找什麼嗎? 左邊分類或許可以幫助你...
- Sep 01 Tue 2015 14:48
PostgreSQL 更新 JsonB 的值
close
全站熱搜
留言列表