1. 程式人生 > >mysql事務(二)——控制語句使用

mysql事務(二)——控制語句使用

spa alt ted clas 數據行 ble 事務提交 一般來說 tran

事務控制

一般來說,mysql默認開啟了事務自動提交功能,每條sql執行都會提交事務。可以使用如下語句關閉事務自動提交功能。

show session variables like ‘autocommit‘;
set @@autocommit = 0;
show session variables like ‘autocommit‘;

技術分享

1、 事務開始

begin或start transaction;

2、 事務提交

commit或commit work;

3、 回滾

rollback或rollback work;

4、 保存點設置

savepoint 標識;

5、 回滾到保存點

rollback to savepoint 標識;

6、 刪除保存點

release savepoint 標識。

事務隔離

READ-UNCOMMITTED 讀未提交

READ-COMMITTED 讀已提交

REPEATABLE-READ 重復讀

SERIALIZABLE 序列化

臟讀

不可重讀

幻讀

READ-UNCOMMITTED

Y

Y

Y

READ-COMMITTED

N

Y

Y

REPEATABLE-READ

N

N

Y

SERIALIZABLE

N

N

N

臟讀:讀取的數據為另一個事務過程數據,讀取數據可能是錯誤的。

不可重讀:第二次讀取數據內容與第一次讀取數據內容不同。(不存在讀取事務過程數據)

幻讀:第二次讀取數據行數比第一次讀取行數多或少。(不存在讀取事務過程數據)

mysql事務(二)——控制語句使用