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.