当更新关系表时:
CREATE TABLE foo ( id serial primary key, credit numeric);
UPDATE foo SET bar = bar + $1 WHERE id = $2;
然而,在JSON中的等价写法却无法工作:
CREATE TABLE foo ( id serial primary key, data json);
UPDATE foo SET data->'bar' = data->'bar' + $1 WHERE id = $2;
我得到的错误是
error: syntax error at or near "->"
- 这相当模糊。我该怎么办?
我正在使用Postgres 9.3.4。
根据@GordonLinoff的评论,我已经创建了一个功能请求:https://postgresql.uservoice.com/forums/21853-general/suggestions/6466818-create-update-delete-on-json-keys。
如果您也想要这个功能,可以投票支持。