Bonjour,

J'ai un trigger attaché à ma base dont voici le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
DELIMITER //
CREATE TRIGGER nettoyage_caractere AFTER DELETE ON caracteristique FOR EACH ROW
BEGIN
    DELETE FROM nomcaracteristique WHERE OLD.cod_carac NOT IN(SELECT id_caracteristique FROM caracteristique);
END//
DELIMITER;
celui-ci a bien été enregistré par la base (même dans phpMyAdmin)
Or lorsque j'utilise mon script php de destruction d'un item dans la table `caracteristique` le trigger ne fonctionne pas.
Je suis donc allé tester directement dans phpMyAdmin la destruction de l'item concerné et là...

Voici l'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 #1442 - Can't update table 'caracteristique' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.
Donc je ne comprend pas. Apparement il ne peut pas updater tout de suite car le trigger est en train d'agir sur la table. Mais cette action se fait apès la destruction, donc... Est-ce cette confusion qui empèche le trigger d'agir ?

Quelqu'un saurait-il m'aiguiller ?
Merci