MySQL——事务深度理解


@@autocommit

  • 变量 @@autocommit
    select @@autocommit;
    set @@autocommit = 0;
  • @@autocommit 为0时表示不以显示事务开头的语句或者以事务开头(begin; 或者 start transaction;)都会被缓存起来并且在commit;提交前都可以用rollback;回滚
  • @@autocommit 为1时表示必须以事务开头的语句才会被缓存,否则一个sql语句将会被当做一个事务提交,将不能使用rollback;语句回滚

说明:不是所有引擎都支持事务,常用的支持事务的引擎是InnoDB