首頁  >  問答  >  主體

Mysql中开启事务 不执行rollback 一样不会更新数据 请问!

我不执行commit就行了,我还要执行rollback有啥用?

网上查询了下没有什么确切答案,都说要执行rollback才能回滚,可是当我没有执行commit的时候 没有执行rollback 一样回滚了,网上查了很多文字 确没有说不执行rollback和commit一样回滚有啥区别?

高洛峰高洛峰2742 天前634

全部回覆(2)我來回復

  • 巴扎黑

    巴扎黑2017-04-17 13:16:22

    出現錯誤的時候,不用明確呼叫 rollback,會自動回滾。

    但有一種需求是:沒有出現錯誤,但是我們需要判斷滿足某種情況後,也需要回滾,這個時候就需要明確調用 rollback 了。

    回覆
    0
  • 高洛峰

    高洛峰2017-04-17 13:16:22

    這裡:

    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 s >

    意思是說如果事務裡面有操作,直接關閉的行為是由實現確定的,有可能

    有可能commit。 MySQL 的實作是rollback,所以你直接關掉也沒問題。 rollback

    回覆
    0
  • 取消回覆