事務主要用於處理操作量大、複雜度高、並且關聯性強的資料。
比如說, 在人員管理系統中, 你刪除乙個人員, 你即需要刪除人員的基本資料,
也要刪除和該人員相關的資訊, 如信箱, 文章等等, 這樣, 這些資料庫操作語句
就構成乙個事務!
在 mysql 中只有 innodb 儲存引擎支援事務。
事務處理可以用來維護資料庫的完整性, 保證成批的 sql 語句要麼全部執行,
要麼全部不執行。主要針對 insert, update, delete 語句而設定
###事務四大特性
在寫入或更新資料的過程中, 為保證事務 (transaction) 是正確可靠的, 所必
須具備的四個特性 (acid):
原子性 (atomicity) :
一致性 (consistency):
隔離性 (isolation):
資料庫允許多個併發事務同時對其資料進行讀寫和修改的能力, 隔離性可
以防止多個事務併發執行時由於交叉執行而導致資料的不一致。 事務隔
離分為不同級別, 包括:
永續性 (durability):
create
table
`abc`
( id int
unsigned
primary
keyauto_increment
, name varchar(32
)unique
, age int
unsigned
)charset
=utf8;
begin
;insert
into abc (name, age)
values
('aa',11
);insert
into abc (name, age)
values
('bb',22
);-- 在事務中檢視一下資料
-- 同時另開乙個視窗,連線到 mysql 檢視一下資料是否一樣
select
*from abc;
commit
;begin
;insert
into abc (name, age)
values
('cc',33
);insert
into abc (name, age)
values
('dd',44
);update abc set age=
77where name=
'aa'
;-- 在事務中檢視一下資料
select
*from abc;
rollback
;select
*from abc;
-- 事務結束後在檢視一下資料
15 23資料庫(23) MySQL事務
備註 所有查詢基於前面章節建立的校園資料庫 事務tranaction tx 開啟事務 begin 課程表插入 把妹 學科 insert into course name values 教師表插入一位把妹名師 insert into teacher name,gender,courseid value...
資料庫事務
事件是訪問並可能更新各種資料項的乙個程式執行單元。事件由事務開始與事務結束之間執行的全體操作組成。為了保證資料完整性,資料庫系統需要維護事務的以下性質 原子性 atomicity 事務中的操作要麼全部成功,要麼全部失敗。一致性 consistency 事務執行前後要保持資料庫的一致性。隔離性 iso...
資料庫 事務
資料庫事務 database transaction 是指作為單個邏輯工作單元執行的一系列操作。事務處理可以確保除非事務性單元內的所有操作都成功完成,否則不會永久更新面向資料的資源。通過將一組相關操作組合為乙個要麼全部成功要麼全部失敗的單元,可以簡化錯誤恢復並使應用程式更加可靠。乙個邏輯工作單元要成...