事务隐式提交, 回滚保存点

2020-06-13  本文已影响0人  X1_blog

事务隐式提交的情况

隐式提交: 在事务中使用一些语句会导致事务在该语句之前执行一次commit

  1. DCL(grant ,revoke) , DDL(create,drop,alter) 都会导致事务隐式提交

  2. load data 语句(导入文本数据)

  3. 事务嵌套, 第二次出现start transaction / begin 会把第一个事务提交

  4. 管理级操作: analyze table, cache index, check table, flush, load index into cache,optimize table,repair table, reset

  5. 做数据库复制的语句: start slave,stop slave, reset slave, change master to

rollback - 保存点

show global variables like "%auto%commit%" ; # on
begin;
select count(*) from test;      # 返回5
insert into test (num) values (6);
savepoint a1 ;
insert into test (num) values (7);
savepoint a2 ;
rollback to a1 ;

begin ;
select count(*) from test;  # 返回6,只有num =6没有num=7
commit; 

官网隐式提交: https://dev.mysql.com/doc/refman/8.0/en/implicit-commit.html

上一篇 下一篇

猜你喜欢

热点阅读