MySQL possède quelques limitations. Le fait qu'il ne soit pas un SGBD transactionnel en est une évidente.
Cet article explique comment émuler des transactions et tenter (dans la mesure du possible) de passer outre cette limitation architecturale.

Consulter le lien