正在回答 回答被采纳积分+1
1回答
好帮手慕小蓝
2021-12-01 10:16:32
同学你好,rollback的作用是回滚数据操作,相当于我们一般情况下的"取消"操作,在课程中老师的案例中,操作的步骤如下:
1.执行START TRANSACTION,开启事务,此时所有的操作都不是直接在数据库上进行的,这些操作都会在redo日志文件上进行操作记录。就像在操作一个数据库的副本一样;
2.执行两个DELETE语句,此时并没有真实的删除数据库的数据,而是在redo日志这个数据库的副本上进行的操作;
3.执行两个SELECT语句,此时查询的位置也不是真实的数据库,而是在redo日志上的这个数据库副本;
4.执行ROLLBACK:此时相当于数据库在向用户询问,是否将redo日志这个数据库的副本去覆盖真实的数据库,COMMIT相当于“确定”,ROLLBACK相当于“取消”;
综上所述,ROLLBACK是让事务开启之后所有的操作无效的指令。所以执行完ROLLBACK之后,数据库表中的数据还在,而不是像COMMIT之后被删除。
祝学习愉快~
2023版Java工程师
- 参与学习 人
- 提交作业 8791 份
- 解答问题 9886 个
综合就业常年第一,编程排行常年霸榜,北上广深月薪过万! 不需要基础,无需脱产即可学习,只要你有梦想,想高薪! 全新升级:技术栈升级(包含VUE3.0,ES6,Git)+项目升级(前后端联调与功能升级)
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星