MySql详解(六)
MySql詳解(六)
MySql事務
一、含義
事務:一條或多條sql語句組成一個執行單位,一組sql語句要么都執行要么都不執行
二、特點(ACID)
A 原子性:一個事務是不可再分割的整體,要么都執行要么都不執行
C 一致性:一個事務可以使數據從一個一致狀態切換到另外一個一致的狀態
I 隔離性:一個事務不受其他事務的干擾,多個事務互相隔離的
D 持久性:一個事務一旦提交了,則永久的持久化到本地
?
三、事務的使用步驟 ★
了解:
隱式(自動)事務:沒有明顯的開啟和結束,本身就是一條事務可以自動提交,比如insert、update、delete
顯式事務:具有明顯的開啟和結束
?
使用顯式事務:
①開啟事務
set autocommit=0;
start transaction;#可以省略
?
②編寫一組邏輯sql語句
注意:sql語句支持的是insert、update、delete
?
設置回滾點:
savepoint 回滾點名;
?
③結束事務
提交:commit;
回滾:rollback;
回滾到指定的地方:rollback to 回滾點名;
四、并發事務
1、事務的并發問題是如何發生的?
多個事務 同時 操作 同一個數據庫的相同數據時
2、并發問題都有哪些?
臟讀:一個事務讀取了其他事務還沒有提交的數據,讀到的是其他事務“更新”的數據
不可重復讀:一個事務多次讀取,結果不一樣
幻讀:一個事務讀取了其他事務還沒有提交的數據,只是讀到的是 其他事務“插入”的數據
3、如何解決并發問題
通過設置隔離級別來解決并發問題
4、隔離級別
臟讀 不可重復讀 幻讀
read uncommitted:讀未提交 × × ×
read committed:讀已提交 √ × ? ×
repeatable read:可重復讀 √ ? √ ? ×
serializable:串行化 √ √ ? √
?
轉載于:https://www.cnblogs.com/yujiwei/p/7943032.html
總結
以上是生活随笔為你收集整理的MySql详解(六)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 平板32g够用吗
- 下一篇: 关于虚拟机vmware三种网络模式