[PHP5.2][MySQL5.0.27] Creation de triggers depuis PHP
Bonjour
Je tente de créer un trigger permettant lors de la suppression d'une ligne dans une table de supprimer automatiquement toutes les données liées dans une autre table. Je le faisais jusqu'à présent manuellement avec une requète du style
Code:
$mysqli->real_query ('DELETE t1.*, t2.* FROM lstWIBloc AS t1 LEFT JOIN lstWIBlocLang AS t2 on t2.uidBloc=t1.uidBloc WHERE .... ') or .... ;
Mais certaines procédures de suppression complexes faisant intervenir jusqu'à six tables, j'ai eu l'idée d'utiliser les triggers.
Si j'utilise la requète suivante depuis mon editeur MySQL (SQLyog) cela fonctionnne :
Code:
1 2 3 4 5 6 7 8
| DELIMITER |;
CREATE TRIGGER onDeleteWIBloc
BEFORE DELETE ON lstWIBloc
FOR EACH ROW
BEGIN
DELETE FROM lstWIBlocLang WHERE uidBloc = OLD.uidBloc;
END; |
DELIMITER ;| |
Mais si j'utilise la même requète depuis PHP cela ne fonctionne pas (Il déclare une erreur de syntaxe dans la requète)
J'ai essayé avec $mysqli->real_query et aussi avec $mysqli->multi_query
Est-il possible de créer des triggers depuis PHP ? Si oui où se trouve mon erreur ? Sinon, tant pis je laisse tomber les triggers, car il est indispensable que PHP mette à niveau la base de donnée tout seul sans intervention de ma part sur la structure de la base