MYSQL - test modification colonne dans trigger
Bonjour,
Je bute encore sur un trigger.
J'ai un trigger qui met à jour la date de modification du profil utilisateur lorsque celui ci met à jour son profil. Jusque là tout va bien. sauf que j'ai un champ nbcnx qui est incrémenté à chaque fois que celui-ci se connecte.
Du coup, à chaque fois qu'il se connecte la date de mise à jour du profil change aussi: pas top donc.
Etant donné que la gestion de la date de modification du profil par un trigger est une contrainte qui m'a été imposée je dois faire évoluer mon trigger initial pour en gros 'lui dire':
Citation:
SI la colonne NBCNX est modifiée ne pas faire l'update de la date de modification profil
SINON
Update de la date de modif.
J'ai donc essayé ce trigger ainsi que plusieurs variantes:
Code:
1 2 3 4 5 6 7 8 9 10
| DELIMITER ;;
CREATE TRIGGER updateprof BEFORE UPDATE ON users
FOR EACH ROW
BEGIN
IF UPDATE (nbcnx) THEN
RETURN 'dateactu pas maj';
ELSE
SET NEW.date_update = now();
END IF;
END;; |
Mais MYSQL m'affiche une erreur de syntaxe que je peine à comprendre et donc à corriger:
Citation:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UPDATE (nbcnx) THEN RETURN 'dateactu pas maj'; ELSE SET NEW.date_update ' at line 4
J'aimerais donc savoir ce qui ne va pas et si le traitement que je souhaite réaliser via ce trigger reste possible.
Par avance, merci.
Cordialement.