Depuis MySQL 4.0.14 et 4.1.1, InnoDB
supporte
les commandes SQL SAVEPOINT
et
ROLLBACK TO SAVEPOINT
.
SAVEPOINT identifier
Cette commande pose un jalon de transaction dont le nom est
identifier
. Si la transaction courante a
déjà un jalon de ce nom, l'ancien jalon est effacé, et le
nouveau est créé à la place.
Cette commande annule la transaction jusqu'au jalon. Les
modifications que cette transaction a fait aux lignes depuis le
jalon sont annulées, mais InnoDB
ne libère pas les verrous posés en
mémoire après le jalon. Notez que pour une nouvelle ligne
insérée, l'information de verrou est conservée par
l'identifiant de transaction de la ligne : le verrou n'est pas
stocké en mémoire. Dansa ce cas, le verrou sera levé par
l'annulation. Les jalons qui ont été posé après celui-ci
sont aussi annulés.
Si la commande retourne l'erreur suivante, c'est qu'aucun jalon de ce nom n'a pu être trouvé.
ERROR 1181: Got error 153 during ROLLBACK
Tous les jalons de la transaction courante sont annulés si vous
exécutez les commandes COMMIT
ou
ROLLBACK
, sans préciser de nom de jalon.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.