MySQL事務解析

2021-12-30 07:28:41 字數 1011 閱讀 3302

1、事務的概念

在多個操作的sql語句當中,要麼同時成功執行,要麼同時失敗執行。

2、操作步驟:

a.開啟事務 start transaction

b.回滾(出問題了,需要回到開啟事務之前) rollback

c.提交(正常執行,將改變的資料提交結束事務) commit

3、檢視和修改事務的提交方式

a.檢視事務的提交方式

select @@autocommit;

b.修改事務的提交方式

set @@autocommit = 0; -- 0表示手動提交,1表示自動提交

4、事務的四大特徵

a.原子性: 在事務的多個sql語句當中,不可以分割開來

b.永續性: 發生回滾和提交的時候,資料持久的儲存在硬碟上面

c.隔離性: 盡可能的多個事務之間沒有影響

d.一致性: 事務前後的總量不能改變

5、隔離級別

a.存在問題

a.髒讀:事務x讀取到事務y,未提交的資料.

b.虛讀(不可重複讀):在同乙個事務當中,兩次讀取的資料不一樣。

c.幻讀:事務x在運算元據庫當中所有的記錄,事務y在新增一條新的 記錄。事務x讀取不到自己的修改

b.對應的級別

a. read uncommited 讀未提交 (出現"髒讀","虛讀","幻讀")

b. read commited 讀提交 (出現"虛讀","幻讀") ---> oracle 預設採用

c. repeatable read 可重複讀 (出現"幻讀") ---> mysql 預設採用

d. serializable 序列化 (可以解決所有問題,效率低)

c.設定和檢視隔離級別

a.檢視隔離級別 select @@tx_isolation;

b.設定隔 set global transaction isolation level 級別字串;

PHP使用Mysql事務例項解析

資料庫連線 conn mysql connect localhost root mysql select db test conn mysql query set names gbk 支援事務的表必須是innodb型別 一段事務中只能出現一次 mysql query start transactio...

mysql 事務 數量 Mysql 事務

什麼是事務 不可分割的操作,比如乙個事務要修改 a 表和刪除 b 表的資料兩個操作,這兩個操作都成功,這個事務才 commit,不然 rollback 每條 sql 語句都是乙個事務 只對 dml 生效 caid 一致性 consistency 讓資料保持一定程度的合理性,比如使用者加入購物車,購物...

mysql事務機制 Mysql事務機制

mysql事務是指將資料庫從一種一致性狀態轉到另一種一致性狀態 mysql事務具有acid特性 原子性 atomicity 事務中的所有操作,要麼全部執行,要麼都不執行 一致性 consistency 事務開始和結束後,資料庫的完整性不會被破壞 隔離性 isolation 事務之間互不影響。事務的隔...