一、事务的基本概念
在计算机科学中,事务 (Transaction) 是指对数据库进行的一系列操作,这些操作要么全部执行,要么全部不执行,是不可分割的工作单位。它们通常被用于确保数据库的完整性和一致性。
事务具有以下四个重要特性,即 ACID 特性:
- 原子性 (Atomicity):事务中包含的操作要么都执行,要么都不执行。
- 一致性 (Consistency):事务执行完成后,数据库必须从一个一致的状态转换到另一个一致的状态。
- 隔离性 (Isolation):多个事务并发执行时,一个事务的执行不应受其他事务的干扰。
- 持久性 (Durability):事务一旦提交,对数据库的改变是永久性的,即使在系统崩溃情况下也不会丢失。
二、MySQL 事务的实现
MySQL 支持多种存储引擎,不同存储引擎对事务的支持程度不同。其中,InnoDB 存储引擎是 MySQL 默认且使用最广泛的存储引擎,它完全支持事务、外键和崩溃恢复。
1. 事务的生命周期
一个事务的生命周期主要包括以下几个阶段: