Bonjour à tous,

Je fais face à un problème lors de la création d'un trigger avec phpmyadmin.
Mon problème est le suivant :
Deux tables :
mesure_distance(id_distance, derlongitude, derlatitude, distance_parcouru, date_distance)
gps(id_porteur, degre_longitude, longitude, degre_latitude, latitude, date_gps, voltage)

Mon but serait de mettre à jour la distance parcouru (quand je reçois des données gps) de chaque porteurs pour chaque jour. Donc, mettre à jour la distance parcouru (dans la table mesure_distance) de l'id reçu (avec les coordonnées gps) tant que le jour ne change pas et si le jour change créer une nouvelle ligne (dans la table mesure_distance). Voila donc le trigger que j'ai écrit mais qui ne fonctionne pas. Auriez-vous des suggestions ?


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
IF EXISTS (SELECT 1 FROM mesure_distance WHERE id_disance=new.Id_porteur AND DAY(date_distance)=DAY(new.date_gps)) THEN
 
   	UPDATE mesure_distance
   	SET distance_parcouru=distance_parcouru+POW(POW(new.latitude-derlatitude, 2)+POW(new.longitude-derlongitude, 2),0.5), date_distance=new.date_gps 
	WHERE id_distance= new.Id_porteur AND DAY(date_distance)=DAY(date_gps);
 
ELSE INSERT INTO mesure_distance('id_distance','derlongitude','derlatitude','date_distance') VALUES(new.Id_porteur, new.longitude, new.latitude, new.date_gps);
 
END IF;