学习MySql时学习到rollback事务回滚,视频讲innoDB存储引擎:提供一组用来记录事务性活动的日志文件,在事务的执行过程中,每一条DML操作都会记录到"事务性活动的日志文件"中,在事务执行过程中,可以提交或回滚事务。
提交事务:清空事务性活动的日志文件,将数据全部持久化到数据库表中。
回滚事务:将之前的DML操作撤销,并清空事务性活动的日志文件。
产生一个疑问,写代码时,当执行事务中DML语句失败,出现SQLException时候,进入catch语句块,进行conn.rollback事务回滚,清空事务性活动的日志文件,请问这个操作有什么意义?如果不进行回滚有什么影响吗?是不进行回滚的话,DML操作会一直在保存日志中,导致下面执行别的语句提交后,也会执行之前没有回滚的语句吗???

MySql中rollback事务回滚作用是什么?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
4条回答 默认 最新
- 於黾 2023-02-08 13:40关注
假如有这样一个操作:
从A用户的账户扣除100元,添加到B用户的账户里去
如果A用户扣费正常,而B用户添加不正常,如果不回滚,那不是凭空少了100元?
当然这只是一个简单的例子,实际项目中,有大量必须保持一致的数据,要成功必须一起成功,要么就恢复原样本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录