Recently I found out that MySQL [doesn't][1] support rollback of DDL such as "alter table"... Being used to PostgreSQL, that struck me as odd, but a friend of mine told me that even Oracle doesn't allow it.. Are there technical reasons for not supporting it? Is it simply an "uninteresting" feature for them? Edit: just found [this comparison][2]. It looks like there are many DBMSes that *do* support transactional DDL. [1]: http://dev.mysql.com/doc/refman/5.0/en/implicit-commit.html [2]: http://wiki.postgresql.org/wiki/Transactional_DDL_in_PostgreSQL:_A_Competitive_Analysis