• There are two default MySQL storage engines which use transactions – InnoDB and NDB Cluster.
  • Also some third-party engines have transactions – like XtraDB or PBXT
  • MySQL uses AUTOCOMMIT mode by default (SHOW VARIABLES LIKE ‘AUTOCOMMIT’). This setting has no effect on engines without transactions like MyISAM – they cannot do rollback.
  • Engines with transactions allow us to use different isolation levels – there are 4 levels (read uncommited/ read commited/ repeatable reads/ serializable) – InnoDB supports them all
  • If we mix in transaction different tables with different storage engines then rollback will have no effect on tables without transactions