1、什么是事务?
事务就是要保证一组数据库操作,要么全部成功,要么全部失败。在 MySQL 中,事务支持是在引擎层实现的。
MySQL 是一个支持多引擎的系统,但并不是所有的引擎都支持事务。比如 MySQL 原生的 MyISAM 引擎就不支持事务,这也是 MyISAM 被 InnoDB 取代的重要原因之一。
2、事务特性
2.1、原子性(Atomicity)
事务中的所有操作要么全部成功,要么全部失败。
2.2、一致性(consistency)
事务开始前和事务结束后,数据库的完整性约束没有被破坏。如果事务中某个操作失败了,系统可以撤销事务,回滚到事务前的状态。
2.3、隔离性(Isolation)
每个读写事务的对象对其他事务的操作对象能相互分离,即该事物提交前对其他事务不可见。
2.4、持久性(durability)
事务一旦提交,结果就是永久性的。即使发生宕机,数据库也能