今天照着书上敲代码 第四章声明式事务管理xml方式的时候
模拟系统运行时的突发性问题
就是那个转账!发生异常并没有回滚,账户里的钱还是增加了,气死
报错了也不回滚!搞了一天没搞出来,一直觉得是配置文件写错了,直到我看到了这个
我索性去搜了一下我那张表的引擎类型
是myisam类型的!!!
SHOW TABLE STATUS FROM 数据库名 WHERE name = '表名';
然后我把他改成了innodb类型,再次查看
ALTER TABLE 表名 ENGINE = INNODB;
原因如下
OK,再次执行事务后,呜呜呜出现异常就回滚了,好开心如果帮到了你可以给我点个赞哈哈
接下来是一劳永逸的方法,你以后创建的表都是innodb类型的
修改你my.ini目录下的default-storage-engine为INNODB~~
睡啦 晚安!