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

原文地址:https://www.cnblogs.com/kate7/p/13359353.html