Les restaurations doivent toujours être gérées par l'application cliente, pas la BD. Le client peut effectuer de nombreuses opérations différentes comme une seule "unité de travail", par conséquent, le client doit avoir le contrôle sur le moment où ce travail est validé dans la base de données ou annulé.
Références
Vous pouvez vous référer à ceci lien utile
de Tom Kyte, qui est si attaché à ce problème qu'il suggère même de supprimer commit/rollback de PL/SQL (langage procédural d'Oracle ; je sais que votre base de données est mysql, mais le concept reste le même).