mysql事務相關概念和操作

2021-09-24 22:49:53 字數 1268 閱讀 9916

改變當前db:

use dbname***;
mysql 事務處理主要有兩種方法:

1、用 begin, rollback, commit來實現

begin 開始乙個事務

rollback 事務回滾

commit 事務確認

2、直接用 set 來改變 mysql 的自動提交模式:

set autocommit=0 禁止自動提交

set autocommit=1 開啟自動提交

檢視事務隔離級別

select @@tx_isolation; (mysql預設是repeatable-read 可重複度)

事務隔離級別

髒讀不可重複讀

幻讀讀未提交(read-uncommitted)是是

是不可重複讀(read-committed)否是

是可重複讀(repeatable-read)否否

是序列化(serializable)否否

否3.1 讀未提交(read-uncommitted) 事務a 在讀取時會讀取到事務b未提交的資料

3.2 不可重複讀(read-committed) 事務a 先讀取了資料行11 ,此時事務b修改了資料後11,事務a再次讀取時,資料行11的內容已改變,造出乙個事務內多次讀取資料不一致

設定事務隔離界別

設定當前連線的事務隔離界別為 讀未提交

set session transaction isolation level read uncommitted;

測試語句:

update tb_amount set amount = amount -10 where id = 1;

– 檢視資料庫的鎖

show open tables where in_use > 0;

– 檢視具體的鎖資訊 可看到鎖的表、空間、分頁、資料

select * from information_schema.innodb_locks;

– 檢視鎖之前互相等待的情況

select * from information_schema.innodb_lock_waits;

– 檢視連線程序

show processlist;

– 檢視請求執行的情況 資訊非常豐富

select * from information_schema.innodb_trx;

select * from information_schema

– 結束某個程序

kill 450801

MySQL事務相關概念,特點

1 事務的概念 事務 一組邏輯操作單元,使資料從一種狀態變換到另一種狀態。事務處理 事務操作 保證所有事務都作為乙個工作單元來執行,即使出現了故障,都不能改變這種執行方式。當在乙個事務中執行多個操作時,要麼所有的事務都被提交 commit 那麼這些修改就永久地儲存下來 要麼資料庫管理系統將放棄所作的...

事務的概念和MySQL事務支援

事務是由一步或幾步資料庫操作序列組成邏輯執行單元,這系列操作要麼全部執行,要麼全部放棄執行。程式和事務是兩個不同的概念。一般而言 一段程式中可能包含多個事務。事務具有四個特性 原子性 atomicity 一致性 consistency 隔離性 isolation 和持續性 durability 這四...

事務的概念和MySQL事務支援

事務是由一步或幾步資料庫操作序列組成邏輯執行單元,這系列操作要麼全部執行,要麼全部放棄執行。程式和事務是兩個不同的概念。一般而言 一段程式中可能包含多個事務。事務具有四個特性 原子性 atomicity 一致性 consistency 隔離性 isolation 和持續性 durability 這四...