mysql4種事務 Mysql事務四種隔離級別

2021-10-19 00:25:16 字數 931 閱讀 8284

首先可查詢mysql自動提交狀態

select @@autocommit;

結果如下:

| @@autocommit |

| 1 |

可通過命令將資料庫事務修改為不自動提交

set autocommit =0;

mysql四種事務隔離級別:

1. 讀未提交(read uncommitted)也叫髒讀(助記骯髒)

設定事務隔離級別為:讀未提交

set session transaction isolation level read uncommitted;

髒讀:分別開啟了事務a,b,事務a修改了表資料還未commit,事務b卻讀到了事務a未提交的資料。

2. 讀已提交 (read committed) 也叫不可重複讀

設定事務隔離級別為:讀已提交

set session transaction isolation level read committed;

不可重複讀:分別開啟了事務a,b,事務b先讀取資料,過程中事務a修改了並提交了資料,事務b再次讀取,發現和第一次讀取資料不一樣

3. 可重複讀(repeatable-read)

set session transaction isolation level repeatable read;

幻讀:分開開啟事務a,b,事務a插入一條記錄並提交,b此時不能查到那條記錄,但是b同樣插入該條記錄時,會報出duplicate entry key primary,這種現象稱為幻讀。

4. 可序列化(serializable)

同乙個事務操作中,每次查詢結果都應該相同,也就是可重複讀

事務隔離性:4種隔離級別

隔離級別 可能出現的異常

讀未提交 髒讀 不可重複讀 幻讀

讀已提交 不可重複讀 幻讀

可重複讀 幻讀

可序列化

mysql 4種事務隔離級別驗證

1.建表 create table test id int 11 not null auto increment,name varchar 255 default null,primary key id engine innodb auto increment 6 default charset u...

mysql4種儲存引擎

1 myisam儲存引擎 不支援事務 也不支援外來鍵,優勢是訪問速度快,對事務完整性沒有 要求或者以select,insert為主的應用基本上可以用這個引擎來建立表 支援3種不同的儲存格式,分別是 靜態表 動態表 壓縮表 靜態表 表中的字段都是非變長字段,這樣每個記錄都是固定長度的,優點儲存非常迅速...

mysql四種啟動方式 mysql 4種啟動方式

mysql 4種啟動方式 都是去呼叫mysqld檔案 1.mysqld 啟動 進入mysqld檔案所在目錄 libexec mysqld mysqld defaults file my.cnf user mysql 2.mysqld safe 啟動 進入mysqld safe所在目錄 bin mys...