mysql事務學習

2021-09-13 13:55:20 字數 1610 閱讀 4083

mysql 事務主要用於處理操作量大,複雜度高的資料。比如說,在人員管理系統中,你刪除乙個人員,你即需要刪除人員的基本資料,也要刪除和該人員相關的資訊,如信箱,文章等等,這樣,這些資料庫操作語句就構成乙個事務!

在 mysql 命令列的預設設定下,事務都是自動提交的,即執行 sql 語句後就會馬上執行 commit 操作。因此要顯式地開啟乙個事務務須使用命令 begin 或 start transaction,或者執行命令 set autocommit=0,用來禁止使用當前會話的自動提交。

用 begin, rollback, commit來實現

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

set autocommit=0 禁止自動提交

set autocommit=1 開啟自動提交

準備工作:

drop

table

ifexists shiwu;

create

table shiwu

(id int

unsigned

auto_increment

primary

key,

txt int

unsigned);

insert

into shiwu values

(null,11

);insert

into shiwu values

(null,22

);select

*from shiwu;

使得表內如下:

;執行結果:

新增資料完成如下:

如圖,以上sql語句執行完畢,由於rollback;的執行,將進行事務回滾,所以結果將會回到上乙個

mysql事務學習

mysql 事務主要用於處理操作量大,複雜度高的資料。比如說,在人員管理系統中,你刪除乙個人員,你即需要刪除人員的基本資料,也要刪除和該人員相關的資訊,如信箱,文章等等,這樣,這些資料庫操作語句就構成乙個事務!在 mysql 命令列的預設設定下,事務都是自動提交的,即執行 sql 語句後就會馬上執行...

MySQL 事務學習

髒讀髒寫 都是因為讀取了事務未提交時的事務回滾情況髒寫 事務a與事務b同時更新一條資料,由於其中乙個事務回滾 導致另外事務執行成功的資料不存在了。髒讀事務a還沒提交事務時事務b拿到值做了大量的操作,事務a回滾後出現的資料異常問題。不可重複讀 與可重複讀 事務a修改了值並且提交了事務 b讀取到 然後b...

MySQL事務學習

mysql事務學習 分布式事務 innodb儲存引擎支援xa事務,通過xa事務可以支援分布式事務的實現。分布式事務指的是允許多個獨立的事務資源 transac tional resources 參與乙個全域性的事務中。事務資源通常是關係型資料庫系統,也可以是其它型別的資源。全域性事務要求在其中所有參...