Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 使用jsonb_set()更新JSON类型列_Sql_Json_Postgresql_Sql Update_Jsonb - Fatal编程技术网

Sql 使用jsonb_set()更新JSON类型列

Sql 使用jsonb_set()更新JSON类型列,sql,json,postgresql,sql-update,jsonb,Sql,Json,Postgresql,Sql Update,Jsonb,我试图通过jsonb\u set更新books表的data列(类型为json) UPDATE books SET data = jsonb_set(data, '{borrowers}', '[{"name":"john doe","time":"1:00PM"}]') WHERE id= 'some_id'; 并遇到以下错误: > ERROR: function jsonb_set(json, unkn

我试图通过
jsonb\u set
更新
books
表的
data
列(类型为
json

UPDATE books 
SET data = jsonb_set(data, '{borrowers}', '[{"name":"john doe","time":"1:00PM"}]')
WHERE id= 'some_id';
并遇到以下错误:

> ERROR:  function jsonb_set(json, unknown, unknown) does not exist
我发现,
jsonb_集
只与
jsonb
类型一起工作

jsonb\u集(目标jsonb,路径文本[],新值jsonb[,创建缺少的布尔值])


但是我没有权限将列类型更新为
jsonb
。那么,在这种情况下,我该如何解决呢?

想出了一个简单的打字技巧

UPDATE books 
SET data = jsonb_set(data::jsonb, '{borrowers}', '[{"name":"john doe","time":"1:00PM"}]')
WHERE id= 'some_id';