1.事务的开启
- 修改默认提交 (set autocommit=0)
- begin;
- start transaction;
2.事务的手动提交
- commit;
3.事务的手动回滚
- rollback;
MySQL默认设置的是自动提交,也就是autocommit默认为1,此时无法进行回滚,若想使用回滚,应该在事务开始前加上begin;或者start transaction;
或者把autocommit设为0,每次可直接使用commit提交或者是rollback回滚
4.事物的隔离级别
事务的隔离性可分为四种 (隔离级别从低到高 ) :
-
READ UNCOMMITTED ( 读取未提交 )
如果有多个事务,那么任意事务都可以看见其他事务的未提交数据。
-
READ COMMITTED ( 读取已提交 )
只能读取到其他事务已经提交的数据。
-
REPEATABLE READ ( 可重复读 ) MySQL默认
如果有多个连接都开启了事务,那么事务之间不能共享数据记录,否则只能共享已提交的记录。
-
SERIALIZABLE ( 串行化 )
所有的事务都会按照固定顺序执行,执行完一个事务后再继续执行下一个事务的写入操作。