V row spouštěče máte přístup ke dvěma verzím upravovaného řádku:OLD obsahuje řádek tak, jak byl (pokud existoval) a NEW obsahuje řádek tak, jak bude (pokud bude existovat.)
Aby váš spouštěč fungoval tak, jak jste popsali, měli byste podmínit WHERE klauzule používající hodnoty z NEW , asi takhle:
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;
Předpokládal jsem, že jste své sloupce mezi tabulkami pojmenovali konzistentně. Všimněte si, že správné sloupce v NEW mají stejné názvy jako sloupce v CWOwnsGame .