MySQL中的事務控制(一)start transaction


MySQL通過set autocommit、start transaction、commit、rollback 等語句支持本地事務。

默認情況下,MySQL是自動提交的(autocommit)的,如果需要明確的commit和rollback來提交和回滾事務,那么就需要明確的事務控制命令來開始事務,這是和Oracle的事務管理明顯不同的地方。

一個start transaction的例子
session_1   session_2

查看表 t11 的數據:

select * from t11


 

 

查看表 t11 的數據:

select * from t11

 

 

 

 用start transaction 命令啟動事務,往表 t11 中插入一條數據,沒有 commit:

start transaction;

INSERT INTO t11 VALUES(125.0,125.0);

 
 

查看表 t11 的數據,發現沒有插入的數據:

select * from t11

 

 

 

 執行提交:

commit;

 

 

 
 

 再次查詢 表 t11 , 可以查詢到session_1 插入的數據:

select * from t11

 

 

 下面這個事務是自動提交的:

INSERT INTO t11 VALUES(200.0,200.0);

 

 

 
 

 由於是自動提交的,現在可以立刻查詢到session_1 剛才插入的數據:

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM