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 刚才插入的数据:

 

 

 

posted @ 2020-07-22 10:49  别看窗外的世界  阅读(10258)  评论(0编辑  收藏  举报