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
J'ai délibérément mis une erreur (j'essaye de supprimer une table TOTO qui n'existe pas)
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 ;
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
Partager