原来是MyISAM引擎不支持事务处理等高级处理,而innoDB支持,所有才会出现不能正确回滚的问题,哎都是一直没注意看MySQL的手册的后遗症,晕…

MyISAM强调的是性能,其执行数度比innoDB引擎更快,但是不提供事务支持,而innoDB提供事务支持已经外部键等高级数据库功能。MyISAM的确快,但是如果你的逻辑设计需要事务处理,你就可以自由使用支持事务处理的引擎,如innoDB。进一步讲,由于MySQL能够允许你在表格这一层应用数据库引擎,所以你可以只对需要事务处理的表格来进行性能优化,而把不需要事务处理的表格交给更加轻便的MyISAM引擎。我现在作的系统的引擎使用就是这样作了,还好正好碰到标签出错,不然我还一直都没有好好利用不同引擎的特点呢。

附:MySQL数据库引擎快速指导