Est-il possible d'insérer un type de mise à jour conditionnelle dans un déclencheur mysql? Si j'ai besoin de faire quelque chose après un certain type de mise à jour, par exemple si la mise à jour est un certain type de changement dans la valeur du champ. Mieux dit, si j'ai besoin d'incrémenter une valeur dans une autre table après qu'un champ spécifique dans ma table d'origine change sa valeur à une valeur spécifique, est-ce possible? Toute aide sera grandement appréciée.
J'essaie ceci:Déclencheur MySQL avec conditions sur UPDATE
CREATE TRIGGER Increment
AFTER UPDATE ON Subscription
FOR EACH ROW
BEGIN
UPDATE USER
SET num_sub=num_sub+1
IF NEW.State <> OLD.State AND NEW.STATE='C'
END IF
END
Mais cela ne fonctionne pas, erreur de syntaxe. J'insère le déclencheur via phpmyadmin.
Oui, en d'autres termes, lorsque vous exécutez un trigger sur certaines tables, vous pouvez toujours insérer/mettre à jour/supprimer sur une table différente, à condition que cette table ne dispose pas de DML sur la première table. Donnez un exemple de ce que vous essayez de faire. –
'SI NEW.column1 <> OLD.column1 et NEW.column1 = 'valeur spécifique' UPDATE table2 ...'. Vous devez publier les instructions CREATE pour les deux tables et être plus précis dans votre question, si vous voulez une bonne réponse. –
Possible duplication de [déclencheur MySQL sur les événements d'insertion/mise à jour] (https://stackoverflow.com/questions/15975877/mysql-trigger-on-insert-update-events) – cwallenpoole