Używanie wartości zwracanej z DELETE dla UPDATE w Postgres
Muszę zaktualizować tabelę, używając wartości usuniętej z innej tabeli. Sytuacja polega na tym, że sędzia prowadzący komentarz jest podobny do tego na SO. Używam pythona do pracy z postgres, ale to nie powinno mieć znaczenia.
query="""
UPDATE comment SET score=score-(DELETE FROM history
WHERE commentId=%(commentId)s AND
userIdentity=%(userIdentity)s RETURNING vote)
WHERE commentId=%(commentId)s;
"""
cursor.execute(query, data)
Błąd pojawia się w(DELETE FROM
; pojawia się błąd składniowy. Mogę zastąpićDELETE
oświadczenie zSELECT
oświadczenie i zadziała, czy jest tu coś, czego mi brakuje? Chcę użyć wartości zwracanej w aktualizacji. czy to możliwe? Wszystko pomaga.
Odpowiedni schemat:
CREATE TABLE history (
commentId bigint,
vote int,
userIdentity varchar(256),
);
CREATE TABLE comment (
id bigint,
score bigint,
);
history.vote jest zwykle1
lub-1
.