Em uma
row acionador, você tem acesso a duas versões da linha que está sendo modificada:OLD contém a linha como era (se existir) e NEW contém a linha como será (se ele existirá.) Para fazer seu acionador funcionar como você descreveu, você deve condicionar o
WHERE cláusula usando valores de NEW , igual a: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;
Eu assumi que você nomeou suas colunas de forma consistente entre as tabelas. Observe que as colunas corretas em
NEW têm os mesmos nomes das colunas em CWOwnsGame .