Sid*_*hal 5 sql postgresql json sql-update jsonb
我的专栏之一是 jsonb 并且具有格式价值。单行列的值如下。
{
"835": {
"cost": 0,
"name": "FACEBOOK_FB1_6JAN2020",
"email": "test.user@silverpush.co",
"views": 0,
"clicks": 0,
"impressions": 0,
"campaign_state": "paused",
"processed":"in_progress",
"modes":["obj1","obj2"]
},
"876": {
"cost": 0,
"name": "MARVEL_BLACK_WIDOW_4DEC2019",
"email": "test.user@silverpush.co",
"views": 0,
"clicks": 0,
"impressions": 0,
"campaign_state": "paused",
"processed":"in_progress",
"modes":["obj1","obj2"]
}
}
Run Code Online (Sandbox Code Playgroud)
我想更新campaign_info(列名)列的内部键“已处理”和“模型”的campaign_id 是“876”。
我试过这个查询:
update safe_vid_info
set campaign_info -> '835' --> 'processed'='completed'
where cid = 'kiywgh';
Run Code Online (Sandbox Code Playgroud)
但它没有用。
任何帮助表示赞赏。谢谢。
GMB*_*GMB 11
这是你想要的吗?
jsonb_set(campaign_info, '{876,processed}', '"completed"')
Run Code Online (Sandbox Code Playgroud)
这会使用 value 更新 path 处"876" > "processed"的值'completed'。
在您的更新查询中:
update safe_vid_info
set campaign_info = jsonb_set(campaign_info, '{876,processed}', '"completed"')
where cid = 'kiywgh';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4398 次 |
| 最近记录: |