MySQL基礎-003-事務

一、事務的概述
⒈ 事務的概念
事務:指的是邏輯上的一組操作,組成這組操作的各個邏輯單元,要麼全都成功,要麼全都失敗。
⒉ MySQL中的事務管理
⑴ 環境準備

create table account(
	id int primary key auto_increment,
	name varchar(20),
	money double
);

insert into account values (null,'小張',10000);
insert into account values (null,'小鳳',10000);

⑵ 轉賬案例


⒊ 事務的特性:
① 原子性:事務的不可分割,組成事務的各個邏輯單元不可分割。
② 一致性:事務執行的前後,數據完整性保持一致。
③ 隔離性:事務執行不應該受到其他事務的干擾。
④ 持久性:事務一旦結束,數據就持久化到數據庫中。


二、事務的隔離級別
⒈ 如果不考慮隔離性,引發一些安全問題
隔離性:一個事務的執行,不應該受到其他事務的干擾。
如果不考慮隔離性(一個事務執行受到其他的事務的干擾),引發一些安全問題,主要體現在讀取數據上:
① 髒讀:一個事務讀到了另一個事務未提交的數據,導致查詢結果不一致。
② 不可重複讀:一個事務讀到了另一個事務已經提交的update的數據,導致多次查詢結果不一致。
③ 虛讀/幻讀:一個事務讀到了另一個事務已經提交的insert的數據,導致多次查詢結果不一致。
⒉ 解決這些安全性問題:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章