事務單獨提交和

mcxiaoracle發表於2022-06-24

一、處理方式不同

1、手動提交:用顯式的方式定義其開始和結束的事務,當使用start transaction和 commit語句時則表示發生顯式事務

2、自動提交:指每一條資料操作語句都自動地成為一個事務,事務的開始是隱式的,事務的結束有明確的標記。

1、手動提交:邏輯相關的操作分成了一個組,在資料永久改變前,可以預覽資料變化。

2、自動提交:能夠保證資料的讀一致性。




1、手動提交:務被提交給了DBMS(資料庫管理系統),則DBMS(資料庫管理系統)需要確保該事務中的所有操作都成功完成且其結果被永久儲存在資料庫中。

2、自動提交:事務中有的操作沒有成功完成,則事務中的所有操作都需要被回滾,回到事務執行前的狀態;同時,該事務對資料庫或者其他事務的執行無影響,所有的事務都好像在獨立的執行。


1、在JDBC中,如果Connection類的方法setAutoCommit(boolean
  autoCommit)賦給值為false,那麼就可以手動提交(呼叫Connection類的commit()方法);
  2、如果為true那麼就是自動提交。自動提交不用你掛念最後要提交的問題,他會自動完成,並且每條語句被當成一個事務;
  3、手動提交,在你顯示提交之前的所有語句都被認為是一個事務,它的好處是,當這個事務中的某一條語句失敗時,事務會回滾,也就是都不會寫到資料庫,這有利於於保持資料庫的一致性。
  比如當你在主表和從表同時插入相關的資料時,如果從表(或主表)失敗,而主表(或從表)成功時,那麼,資料也不會被寫入主表(或從表)中。



推薦閱讀:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69949806/viewspace-2902547/,如需轉載,請註明出處,否則將追究法律責任。

相關文章