J'essaie de créer un déclencheur qui met à jour une ligne dans une autre table d'une insertion. La dernière partie fonctionne mais s'il n'y a pas de ligne avec cet identifiant, je veux créer une ligne pour cet identifiant avant de l'ajouter.SQL-Trigger: Créer une ligne si la ligne n'existe pas
Mais je reçois un # 1064 erreur:. 'Resource_xpEvents pour chaque ligne BEGIN SINON EXISTE (CHOISIR 1 À PARTIR resource_xp'
DELIMITER $$
CREATE TRIGGER test AFTER INSERT resource_xpEvents FOR EACH ROW
BEGIN
IF NOT EXISTS (SELECT 1 FROM resource_xp WHERE userId = NEW.userId) THEN
INSERT INTO resource_xp (userId)
VALUES (NEW.userId);
END IF;
UPDATE resource_xp
SET xp = xp + new.delta
WHERE userId = new.userId
END $$
DELIMITER ;
vous obtenez l'erreur lorsque vous essayez d'installer le déclencheur? – farbiondriven
Mon mauvais. Une autre erreur: Erreur dans la syntaxe à 'END' sur la ligne 12 –
Parce qu'il vous manque a; à la fin de la déclaration de mise à jour. –