Bonjour à tous,

Merci de lire mon message.
Je débute dans tout ce qui est trigger donc excusez moi si je n'explique pas correctement mon souci !

Alors voici le souci que je rencontre : j'ai créé un trigger qui se déclenche après une suppression. Mon but étant de sauvegarder les valeurs supprimées dans une table "historique".

Ci dessous mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
DELIMITER //
 
CREATE TRIGGER utilisateurs_delete AFTER DELETE ON utilisateurs
    FOR EACH ROW
 
    BEGIN
        INSERT INTO utilisateurs_historique SELECT OLD.*, UUID(), NOW(), 'DELETE';
    END;
 
//
 
DELIMITER ;
A la création du trigger, je n'ai aucune erreur détecté ( c'est plutôt bon signe ).
Toutefois, dès que j'essaye de supprimer une ligne de la table Utilisateurs, un message d'erreur apparaît et m'indique ceci : "Unknown Table OLD".

J'ai tenté de tourner la chose autrement :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
DELIMITER //
 
CREATE TRIGGER utilisateurs_delete AFTER DELETE ON utilisateurs
    FOR EACH ROW
 
    BEGIN
        INSERT INTO utilisateurs_historique SELECT u.*, UUID(), NOW(), 'DELETE' FROM utilisateurs u WHERE u.id = OLD.id;
    END;
 
//
 
DELIMITER ;
Mais avec ce trigger ci, rien n'est inséré dans ma table utilisateurs_historique...

Si quelqu'un pouvait m'éclairer, ce serait fort appréciable.

Merci !