Shivamoon
Messages postés9Date d'inscriptionmardi 4 octobre 2005StatutMembreDernière intervention12 janvier 2007
-
12 janv. 2007 à 00:10
Shivamoon
Messages postés9Date d'inscriptionmardi 4 octobre 2005StatutMembreDernière intervention12 janvier 2007
-
12 janv. 2007 à 13:26
Bonjour,
Je souhaite crée sur une table un trigger, j'y arrive très bien en passant par une console Mysql sous Linux mais rien à faire si j'essaie de le crée avec du PHP ex avec un truc dans ce genre :
$trigger = 'DELIMITER |
CREATE TRIGGER delete_customer AFTER DELETE ON osc_customers
FOR EACH ROW BEGIN
DELETE FROM db_vizibox_net.osc_customers
WHERE customers_id = old.customers_id
AND IDC = 33;
END;|
DELIMITER ;';
mysql_query($trigger);
$query = 'CREATE TRIGGER delete_customer AFTER DELETE ON db_bt_B740zp98wDPBU7Daa8BO.osc_customers FOR EACH ROW
BEGIN
DELETE FROM db_net.osc_customers
WHERE customers_id = old.customers_id
AND IDC = 33;
END;';
$result = mysqli_query($link, $query);
Shivamoon
Messages postés9Date d'inscriptionmardi 4 octobre 2005StatutMembreDernière intervention12 janvier 2007 12 janv. 2007 à 11:50
J'ai cette erreur :
You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'DELIMITER |
CREATE TRIGGER insert_category AFTER INSERT ON osc
Mais le truc c'est que ce trigger est bien pris en compte si je le balance en console...
Vous n’avez pas trouvé la réponse que vous recherchez ?
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 12 janv. 2007 à 12:31
Oui mais le problème ne vient pas du trigger : mysql 5 prend bien en compte les triggers, ok. Le problème vient de l'éventualité que PHP ne sache pas envoyer la création d'un trigger à mysql, nuances.
Et tu ne peux pas virer les DELIMITER...? à priori t'en as pas besoin là, si ? Ainsi p-e que BEGIN et END.
CREATE TRIGGER delete_customer AFTER DELETE ON osc_customers
FOR EACH ROW
DELETE FROM db_vizibox_net.osc_customers
WHERE customers_id = old.customers_id
AND IDC = 33;