日期:2014-05-16  浏览次数:20706 次

mysql 创建表不能使用“事务”回滚

需求:由于当初设计,往“种类表”中添加一条数据,就分别要创建“种类账号表”和“种类账号属性表”。

?

我当初的想法就是希望上面一连串的动作就是一个事物,如果只要是出现了异常,结果就是插入数据库不成功,并且创建数据库失败,但是测试了两天,使用了spring事务的很多种方式,还是不行,但是只要不创建数据库就没有任何问题,因此怀疑就是创建表实际上是不支持事务的。

?

那么上面的需求怎么解决呢?

解决办法:使用try{}catch{}的方式将上面的动作“包”起来,一旦出现了异常,就catch捕获,然后在catch中删除表,删除数据等操作,“模拟回滚”的效果。