Some commands are intrinsically impossible to undo; issuing them causes an immediate and permanent change to the database. In MySQL, these commands are:
Issuing these commands in transactional mode immediately terminates the current transaction as if a COMMIT command has been issued. (Note, in particular, the presence in the list of BEGIN; it is not possible to "nest" transactions in MySQL.) Users of other databases will find similar restrictions and should consult their database documentation for details.