MySQL通过set autocommit、start transaction、commit、rollback 等语句支持本地事务。
默认情况下,MySQL是自动提交的(autocommit)的,如果需要明确的commit和rollback来提交和回滚事务,那么就需要明确的事务控制命令来开始事务,这是和Oracle的事务管理明显不同的地方。
| 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 刚才插入的数据:
|







