title: Transactional ALTER statements in MySQL
body: <p>I'm doing an update to MySQL Database which includes MySQL scripts that make ALTER TABLE sentences, as well as DIU sentences (delete, insert, update).</p>
  
  <p>The idea is to make a transactional update, so if a sentence fails, a rollback is made, but if I put ALTER TABLE sentences or others specified in <a href="http://dev.mysql.com/doc/refman/5.0/en/implicit-commit.html" rel="nofollow">http://dev.mysql.com/doc/refman/5.0/en/implicit-commit.html</a> an implicit commit is made, so I can't make a complete rollback, because the indicated operations remains commited.</p>
  
  <p>I tried to use mysqldump to make a backup which is used in case of error (mysql returns distinct to zero), but it is too slow and can fail too.</p>
  
  <p>What can I do? I need this to ensure that future updates are safe and not too slow, because databases contains between 30-100 GB of data.</p>