我的一些疑问
第7行代码:commit
第8行代码:rollback
1、当我执行1-6行代码后准备执行第7行代码,电脑没电了关机,mysql是怎么操作的,是帮我保留操作的还是直接回滚。
2、我修改全公司员工的工资+100元时候执行了第7行,执行到一半,有些员工工资加了,有些员工工资没加。我电脑关机了,在开机运行mysql,之前的操作MySQL是怎么处理的,我一半员工工资加了,一半没加,我还想继续执行是在执行第7行代码还是。
3、老师,如果我不手动开启事务机制,就想前面的练习一样,直接写sql语句,然后执行,让自动开启事务机制。他们是不是就直接更改原数据表。就会像第2个问题一样,语句执行一半电脑关机了,有些员工加了工资有些没有
4、第8行代码在哪些场景要用到。我不能执行完前面代码然后觉得有些代码条件写错了在执行第8行代码回滚吧。那如果是自动事务机制怎么办
5、老师在视屏中讲,.....执行一半电脑关机,在开启mysql服务就可以继续执行。能仔细说下吗
正在回答 回答被采纳积分+1
同学,你好。
第七行commit没有执行,电脑没电了关机,那之前执行的代码都没有被写入到数据库,数据是没有更改的。
第7行,执行到一半,只要没有执行完,之前执行的代码都没有被写入到数据库,数据是没有更改的。
开启事务机制后,只要没有执行commit,数据是不会更改的。
rollback可用于前面执行出现异常,commit没有执行完成,触发回滚,数据是不会更改的。
执行一半电脑关机,在开启mysql服务,可以重新运行记录了修改操作的日志文件,即便有些数据修改了,有些没修改,重新执行修改操作后,数据又可保持正确的修改了。
如果解决了你的疑惑,请采纳,祝学习愉快~
- 参与学习 人
- 提交作业 625 份
- 解答问题 2669 个
数据库作为企业储存和管理数据的根本,掌握数据库是每个开发工程师必备的技能,本阶段带你学会用Python操作MySQL、Redis和MongoDB三大主流数据库。夯实数据库基础。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星