So wird der Wert in der postgres-Aktualisierungsanweisung auf dem JSON-Schlüssel erhöht

Beim Aktualisieren einer relationalen Tabelle:

CREATE TABLE foo ( id serial primary key, credit numeric);
UPDATE foo SET bar = bar + $1 WHERE id = $2;

Das Äquivalent in JSON funktioniert jedoch nicht:

CREATE TABLE foo ( id serial primary key, data json);
UPDATE foo SET data->'bar' = data->'bar' + $1 WHERE id = $2;

Der Fehler, den ich bekomme, isterror: syntax error at or near "->" - das ist eher mehrdeutig.

Wie mache ich das

Ich benutze Postgres 9.3.4

Angesichts des Kommentars von @ GordonLinoff unten habe ich eine Funktionsanforderung erstellt:https: //postgresql.uservoice.com/forums/21853-general/suggestions/6466818-create-update-delete-on-json-key

Sie können darüber abstimmen, wenn Sie diese Funktion auch möchten.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage