MySQL事务机制
事务的ACID属性
原子性,一致性,隔离性,持久性
事务的原子性:
一个事务中所有的操作要么全部完成,要么全部失败。事务执行后,不允许停留在中间某个状态
事务的一致性:
不管在任何给定的时间、并发事务有多少,事务必须保证运行结果的一致性。
事务的隔离性:
隔离性要求事务不受其他并发事务的影响,如同在给定的时间内,该事务是数据库唯一运行的事物。
事务的持久性:
事务一旦提交,结果便是永久性的。即便发生宕机,仍然可以依靠事务日志完成数据的持久化。
#启动事务
start transaction;
delete from t_emp;
delete from t_dept;
select * from t_emp;
select * from t_dept;
#提交事务
commit;
#回滚事务
rollback;
事务的四个隔离级别
事务一
start transaction;
update t_emp set sal=1;
事务二
set session transaction isolation level read uncommitted;
start transaction;
select empno,ename,sal from t_emp;
commit;
事务二能够读取到事务一未提交的数据