Dans une row trigger vous avez accès à deux versions de la ligne en cours de modification :OLD contient la ligne telle qu'elle était (s'il existait) et NEW contient la ligne telle qu'elle sera (si il existera.)
Pour que votre déclencheur fonctionne comme vous l'avez décrit, vous devez conditionner le WHERE clause utilisant des valeurs de NEW , comme ceci :
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;
J'ai supposé que vous avez nommé vos colonnes de manière cohérente entre les tables. Notez que les colonnes correctes dans NEW ont les mêmes noms que les colonnes dans CWOwnsGame .