MySQL事务

1.事务的开启

  1. 修改默认提交 (set autocommit=0)
  2. begin;
  3. start transaction;

2.事务的手动提交

  • commit;

3.事务的手动回滚

  • rollback;

MySQL默认设置的是自动提交,也就是autocommit默认为1,此时无法进行回滚,若想使用回滚,应该在事务开始前加上begin;或者start transaction;

或者把autocommit设为0,每次可直接使用commit提交或者是rollback回滚

4.事物的隔离级别

事务的隔离性可分为四种 (隔离级别从低到高 ) :

  1. READ UNCOMMITTED ( 读取未提交 )

    如果有多个事务,那么任意事务都可以看见其他事务的未提交数据。

  2. READ COMMITTED ( 读取已提交 )

    只能读取到其他事务已经提交的数据。

  3. REPEATABLE READ ( 可重复读 ) MySQL默认

    如果有多个连接都开启了事务,那么事务之间不能共享数据记录,否则只能共享已提交的记录。

  4. SERIALIZABLE ( 串行化 )

    所有的事务都会按照固定顺序执行,执行完一个事务后再继续执行下一个事务的写入操作。

上一篇:Mybatis自动提交失败:Setting autocommit to false on JDBC Connection


下一篇:mysql排他锁