Bonjour,

Je n'arrive pas à trouver la solution donc je m'adresse à vous.
Je souhaite tracabiliser les changements de rémunération.
Je m'explique:

2 tables:
personnel avec un champs salaire et tmp.
historique_salaire avec un champs montant et raison.

1 déclencheur sur table personnel (after update):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
IF NEW.salaire <> OLD.salaire THEN
  INSERT INTO historique_salaire (montant) VALUES(NEW.salaire);
ENDIF;
Jusque la ça va.

Mais dans différents scripts php, il y a des requêtes du type:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
UPDATE personnel SET salaire=XXX WHERE id=22;
Je vais modifier ces requêtes, une par une pour:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
UPDATE personnel SET salaire=XXX, tmp="Raison du changement" WHERE id=22;
Et donc mettre la raison du changement dans le champ raison de la table historique en modifiant le trigger.

Jusque la ça va bis.

Par contre, je souhaiterais, une fois fait, vider le champ tmp de la table personnel.
Pour ne pas qu'une requête non modifiée, déclenche la copie du champ tmp vers raison.

J'ai essayé avec trigger avant, après, sur les 2 tables, mais je ne m'en sors pas.

Avez vous une idée?

Merci