Bonjour à tous,

Je suis un tout nouveau en MySQL et je suis un peu perdu.
J'utilise un AGL permettant d'exécuter des requêtes sur une base MySQL 5 avec un moteur de stockage InnoDB.
J'aimerais exécuter une transaction mais voila rien qu'une simple requête je bloque.

Voilà je voudrais supprimer les données de plusieurs tables mais si il y a une erreur je voudrais stoppé tout (ROLLBACK si j'ai bien compris).
Mais je ne comprends pas comment intercepter l'erreur.

Voici mon code

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
SET @@autocommit = 0 ;  
 
START TRANSACTION enregistrement_base;	--On déclare notre transaction
 
DELETE FROM TRANSPORTM3;
 
DELETE FROM PIECESUSURES;
 
DELETE FROM PLEINVEHICULE;
 
DELETE FROM MATERIEL;
 
DELETE FROM POINTAGEHEURE;
 
DELETE FROM VEHICULE;
 
DELETE FROM TOTO;
 
DELETE FROM CLIENT;
 
	COMMIT;  
except --S'il y a eu des erreurs
	ROLLBACK;  
 
SET @@autocommit = 1 ;
J'ai délibérément mis une erreur (j'essaye de supprimer une table TOTO qui n'existe pas)
Le problème c'est que quand j'exécute cette requête rien ne se passe.
Que fais-je de mal ?????

Merci d'avance pour votre aide

PS : Bien entendu j'ai lu les différents tuto mais je crois que je n'ai rien compris