UPDATE s SET sb = sb || ('{"filded": [{"@value": '|| sb@>>'{filded,0, @value}'::integer + 1 ||'}],"lastFailure ": '[{"@t": "DateTime", "@value": "$1"}],ln": '[{"@type": "DateTime", "@value": "$1"}])::jsonb WHERE sbi=$2
这是我试图在 thi pgAdmin 中运行的 postgres sql 查询,但它给出了错误
ERROR: syntax error at or near "["
LINE 1: ...d,0, @value}'::integer + 1 ||'}],"lastFailure": '[{"@t": "D... ^ SQL 状态:42601 性格:116
请为此提供解决方案
只是对你的混乱的猜测:
UPDATE s
SET sb = sb
|| ('{"filded":[{"@value":'
|| (sb #>> '{filded,0,@value}')::integer + 1
|| '}], "lastFailure":[{"@t":"DateTime", "@value":"$1"}], "ln":[{"@type":"DateTime", "@value":"$1"}]}')::jsonb
WHERE sbi = $2;