84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
我不执行commit就行了,我还要执行rollback有啥用?
网上查询了下没有什么确切答案,都说要执行rollback才能回滚,可是当我没有执行commit的时候 没有执行rollback 一样回滚了,网上查了很多文字 确没有说不执行rollback和commit一样回滚有啥区别?
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
出现错误的时候,不用显式调用 rollback,会自动回滚。
但是有一种需求是:没有出现错误,但是我们需要判断满足某种情况后,也需要回滚,这个时候就需要显式调用 rollback 了。
这里:
http://docs.oracle.com/javase...
It is strongly recommended that an application explicitly commits or rolls back an active transaction prior to calling the close method. If the close method is called and there is an active transaction, the results are implementation-defined.
意思是说如果事务里面有操作,直接关闭的行为是由实现确定的,有可能commit有可能rollback。MySQL 的实现是rollback,所以你直接关闭也没有问题。
commit
rollback
出现错误的时候,不用显式调用 rollback,会自动回滚。
但是有一种需求是:没有出现错误,但是我们需要判断满足某种情况后,也需要回滚,这个时候就需要显式调用 rollback 了。
这里:
http://docs.oracle.com/javase...
意思是说如果事务里面有操作,直接关闭的行为是由实现确定的,有可能
commit
有可能rollback
。MySQL 的实现是rollback
,所以你直接关闭也没有问题。