SQL語言總結——事務

事務

  1. 概念:一組相互捆綁共同完成操作的執行單元

  2. 事務屬性:ACID

  • 原子性(Atomicity):語句共同操作
  • 一致性(Consistency):事務執行前後整體不改變
  • 隔離性(Isolation):一個事務執行不能被其他事務干擾
  • 持久性(Durability):事務提交後即生效,不可更改
  1. 事務使用方法
  • 事務的開啓:SET autocommit = 0; start transaction;
  • 編寫事務語句:語句1;語句2;…
  • 事務結束:commit;或者 rollback;
  1. 事務隔離:避免多個事務相互衝突

    • 常見的併發問題:

      • 髒讀:讀出了無效的,其他事務未提交的數據(髒數據)
      • 不可重複讀:一個事務內,多次查詢出現了不同的結果;重點在數據被修改
      • 幻讀:讀到的數據條數不一樣,重點在新增和刪除
        在這裏插入圖片描述
    • 隔離級別(MySQL):

      • Read Uncommited:允許事務讀取其他未提交事務的變更,髒讀,不可重複讀,幻讀都會出現
      • Read Commited:只允許事務讀取其他事務提交的更改,可以避免髒讀,但有不可重複讀,幻讀
      • Pepeatable Read:在此事務持續期間不允許其他事務更改該字段,但可讀,可出現幻讀
      • Serialization:在此事務期間禁止其他事務的任何操作
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章