1.创建表插入数据
2.步骤
SET autocommit = 0; //默认自动提交事务,设为手动
START TRANSACTION //开启一个事务
//转账步骤(一个一个执行)
UPDATE account SET money = money - 500 WHERE `name` = 'A'
UPDATE account SET money = money + 500 WHERE `name` = 'B'
COMMIT; //提交 持久化不可逆
ROLLBACK; //回滚 变回原来的状态
SET autocommit =1; //设为自动提交事务
3.出现的问题
刚开始测试回滚的时候,结果数据还是持久化了,想了想原来是没有设置引擎为InnoDB,默认是MyISAM
解决办法:把引擎改为InnoDB即可
两者的区别
4.测试结果
4.1当执行完转账步骤
执行回滚时,数据回归原来的样子
4.2当执行完转账步骤,执行提交,数据持久化