In een row
trigger je toegang hebt tot twee versies van de rij die wordt gewijzigd:OLD
bevat de rij zoals deze was (als het bestond), en NEW
bevat de rij zoals deze zal zijn (als het zal bestaan.)
Om je trigger te laten werken zoals je hebt beschreven, zou je de WHERE
clausule met waarden uit NEW
, zoals zo:
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;
code>
Ik ben ervan uitgegaan dat je je kolommen consequent tussen tabellen hebt genoemd. Merk op dat de juiste kolommen in NEW
hebben dezelfde namen als de kolommen in CWOwnsGame
.