MySQL数据库事务的了解与操作
MySQL数据库事务的理解与操作
事务是作为单个逻辑工作单元执行的一系列操作,这些操作作为一个整体一起向系统提交,要么都执行、要么都不执行。事务是一个不可分割的工作逻辑单元。
事务具备四个属性,简称ACID属性:
- 原子性(Atomicity):事务是一个完整的操作。事务的各步操作是不可分的(原子的);要么都执行、要么都不执行。
- 一致性(Consistency):当事务完成时,数据必须处于一致状态。
- 隔离性(Isolation):对数据进行修改的所有并发事务是彼此隔离的,这表明事务必须是独立的,它不应以任何方式依赖于或影响其他事务。
- 永久性(Durablity):事务完成后,它对数据库的修改被永久保持,事务日志能够保持事务的永久性。
默认情况下,MySQL将以自动提交模式运行,也就是说每一条SQL命令都将当做一个小的事务来运行。
- 关闭自动提交模式:mysql>set autocommit=0;
- 设置事物还原点:mysql>savepoint p1;
- 事物回滚到某还原点:mysql>rollback to p1;
- 事物完全回滚:mysql>rollback;
- 事物提交:mysql>commit;