MySQL事務。

来源:https://www.cnblogs.com/zhangyuhao/archive/2019/11/08/11822740.html

相關資料:https://zhuanlan.zhihu.com/p/70701037 https://zhuanlan.zhihu.com/p/59061106 一、事務。 1、概念。事務是由一組SQL語句組成的邏輯處理單元。 2、事務的屬性(ACID)。 i:原子性(atomicity):事務是最 ...


相關資料:https://zhuanlan.zhihu.com/p/70701037        https://zhuanlan.zhihu.com/p/59061106

一、事務。

  1、概念。事務是由一組SQL語句組成的邏輯處理單元。

  2、事務的屬性(ACID)。

    i:原子性(atomicity):事務是最小的工作單元,整個事務中的所有操作要麼全部提交成功,要麼全部失敗回滾。

    ii:一致性(consistency)::一個事務執行前後資料庫的數據必須保持一致性狀態。

    iii:隔離性(isolation):多個併發事務之間要相互隔離。

    iv:持久性(durability):事務提交後,其所做的修改會永久保存到資料庫中。

  3、事務的隔離級別。

    i:讀未提交(Read Uncommitted):當前事務中的修改,即使沒有被提交,對其他事務也是可見的。可能導致:臟讀---事務可以讀取到未提交的數據。

    ii:讀已提交(Read Committed):被讀取的數據可以被其他事務修改。可能導致:不可重覆讀----在一個事務內,多次讀同一個數據。在這個事務還沒有結束時,另一個事務也訪問該同一數據。那麼,在第一個事務的兩次讀

                       數據之間。由於第二個事務的修改,那麼第一個事務讀到的數據可能不一樣,這樣就發生了在一個事務內兩次讀到的數據是不一樣的,因此稱為不可重覆讀,即原始讀取不可重覆。一句話

                    解釋:一個事務內,兩次相同的查詢,返回了不同的數據。

    iii:可重覆讀(Repeatable Read):保證同一個事務中多次讀取同樣的記錄,結果是一樣的。可能導致:幻讀----一個事務T1按相同的查詢條件重新讀取以前檢索過的數據,卻發現其他事務T2插入了滿足其查詢條件的新數

                     據,這種現象就稱為“幻讀”。一句話解釋:事務A 讀取到了事務B提交的新增數據。     MySql預設。

    iv:串列化(Serializable):所有事務串列執行,避免幻讀。


您的分享是我們最大的動力!

更多相關文章
  • 安裝Ubuntu18過程中,從u盤啟動ubunt安裝,出現mmx64.efi not found問題 如下圖: 製作好ubunt啟動盤之後在EFI/BOOT下會看到兩個文件,將其中grubx64.efi改名為mmx64.efi即可重裝系統。 ...
  • 問題描述 今天要去後臺看日誌查個問題,通過ssh登陸到伺服器後準備用平時非常熟悉的 命令打開日誌查看,突然xshell客戶端就閃退了。一時感覺很蒙,怎麼回事??由於之前有同事遇到類似的問題,提醒我說可能是伺服器磁碟滿了。一時也沒什麼其他頭緒,我就又登陸到伺服器上使用 命令看了下磁碟使用情況: 我們發 ...
  • 創建用戶 我們創建的這個用戶要放到 sudo 用戶組,以便於我們可以執行一些需要 root 許可權的操作。 最後一步是給 username 用戶設置一個密碼,方便遠程登錄主機使用。建議密碼要設置的相對複雜一些,避免被黑客猜測到密碼。 磁碟掛載 如果主機上有額外的磁碟,需要在操作系統進行掛載。磁碟分區、 ...
  • 1.安裝環境 Docker支持以下的CentOS版本 CentOS 6.5 (64-bit) 或更高的版本 Docker 要求 CentOS 系統的內核版本高於 3.10 ,查看本頁面的前提條件來驗證你的CentOS 版本是否支持 Docker 1 [[email protected] ~]# unam ...
  • 參數|介紹 |: : maxThreads|最大可以創建請求的線程數 minSpareThreads|服務啟動時創建的處理請求的進程數 Connector中的port|創建伺服器端的埠號,此埠監聽用戶端的請求 enableLookups|如果為true,則可以通過調用request.getRem ...
  • 如何解決問題:程式無法正常啟動(0xc0000022) 下文是由NeoSmart技術,通過全球網路上的工程師開發者和技術人員一起收集起來的信息,進行彙總並編輯而成的。 錯誤現象 該錯誤一般會通過警告,錯誤,提示等形式在屏幕上提示0xc0000022 觸發錯誤的方式 文件占用或者訪問異常 安全軟體 缺 ...
  • 一、LK中亮屏流程 1. gcdb_display_init(),進行display初始化的起始地方; 2. oem_panel_select(),在這裡去選擇哪一款屏,也可以在這裡添加新一款屏; 3. dsi_panel_init()把屏頭文件中的配置信息拷貝到結構體中,並一些屏需要的配置; 4. ...
  • 主備切換在備庫startup時出現歸檔路徑沒寫到spfile里...註意:修改參數時最好帶上scope=spfile或scope=both,以免重啟出現異常。SQL> startup mountORA-16032: parameter LOG_ARCHIVE_DEST_1 destination s ...
一周排行
  • C 語法糖——持續更新 1. return的switch寫法 ...
  • 0. 前言 繼上一篇,以及上上篇,我們對SqlSugar有了一個大概的認識,但是這並不完美,因為那些都是理論知識,無法描述我們工程開發中實際情況。而這一篇,將帶領小伙伴們一起試著寫一個能在工程中使用的模板類。 1. 創建一個Client SqlSugar在操作的時候需要一個Client,用來管理數據 ...
  • 1 class Program 2 { 3 static void Main(string[] args) 4 { 5 //數組:長度不可變,類型單一 6 //ArrayList集合:長度可以任意改變,類型可以不單一 7 8 //創建一個ArrayList對象 9 ArrayList mylist ...
  • .NET 程式下銳浪報表 (Grid++ Report) 的綠色發佈指南 在銳浪報表官方為 CSharp 編寫的開發文檔:“在C#與VB.NET中開始使用說明.txt” 中,關於發佈項目是這麼描述的: ★發佈你的項目,用VS.NET製作安裝程式:1、先創建安裝項目:在解決方案資源管理器的根節點上點右 ...
  • 執行代碼清理時,可以點擊那個掃把小圖片,會按照預設的第一種配置文件來自動修複。也可以點擊下拉三角符合,選擇不同的配置文件,然後進行修複。或者快捷鍵Ctrl+K,Ctrl+E。 針對每一項配置的說明: 刪除不必要的using 儘可能將私有欄位設置為只讀 刪除不必要的類型轉換(針對強類型轉換),像Con ...
  • 1.概念簡述 (1)AR模型 AR 模型(auto regressive model)自回歸模型,模型參量法高解析度譜分析方法之一,也是現代譜估計中常用的模型。 用AR模型法求信具體作法是: ①選擇AR模型,在輸入是衝激函數或白雜訊的情況下,使其輸出等於所研究的信號,至少,應是對該信號的一個好的近似 ...
  • 4.元組 元組的主要特性為: 1.元組在創建之後,具有不可以更改的特性,因此不能直接給元組的元素賦值 2.元組的元素類型可以為任意類型,如字典、字元串、列表等 3.元組常用於在程式的整個生命周期中都不變的場景中 4.1 常用方法 元組大小和內容在定義賦值之後,就不可更改,常用的方法如下所示: cou ...
  • 老孟導讀:今天分享一個類似“孔雀開屏”的動畫效果,打開新的頁面時,新的頁面從屏幕右上角以圓形逐漸打開到全屏。 先來看下具體的效果 不知道這種效果大家叫什麼名字?如果有更合適的名字可以在評論處告訴我,下麵來說下如何實現此效果。 在使用Navigator進入一個新的頁面時,通常用法如下: 就包含了切換頁 ...
  • hashCode() 和equals() 方法的重要性體現在什麼地方? Java中的HashMap使用hashCode()和equals()方法設置值,根據鍵獲取值的時候也會用到這兩個方法。 怎樣 設置 的值? hashCode()獲得 hash值。而hash值用來確定hashmap中內部 Node ...
  • IDEA一些不錯的插件分享 目錄 IDEA一些不錯的插件分享 插件集合 CamelCase Translation LiveEdit MarkDown Navigator Jrebel CheckStyle IDEA Alibaba Java Coding Guidelines Ideavim Ma ...