In einer row
Trigger haben Sie Zugriff auf zwei Versionen der geänderten Zeile:OLD
enthält die Zeile, wie sie war (falls vorhanden) und NEW
enthält die Zeile, wie sie sein wird (wenn es wird existieren.)
Damit Ihr Trigger wie beschrieben funktioniert, würden Sie WHERE
konditionieren -Klausel mit Werten aus NEW
, etwa so:
CREATE TRIGGER update_loyalty_points
AFTER INSERT ON CWUserOwnsGame
FOR EACH ROW
UPDATE CWUsers
SET loyaltyPoints = loyaltyPoints +
(SELECT loyaltyPoints
FROM CWGameList
WHERE gameConsole = NEW.cName
AND gameName = NEW.gName)
WHERE username = NEW.uName;
Ich bin davon ausgegangen, dass Sie Ihre Spalten zwischen den Tabellen konsistent benannt haben. Beachten Sie, dass die richtigen Spalten in NEW
dieselben Namen haben wie die Spalten in CWOwnsGame
.