事务在 MySQL 中具有四个基本特性,通常被称为 ACID 特性。这些特性保证了数据库操作的可靠性与数据的一致性。
原子性(Atomicity)
原子性确保事务中的所有操作要么全部成功执行,要么全部不执行。如果事务中任何一个操作失败,整个事务都会被回滚到初始状态。
例如:转账操作中,从 A 账户扣款和向 B 账户加款必须同时成功或同时失败。一致性(Consistency)
一致性保证事务执行前后,数据库都处于一致的状态。也就是说,事务不能破坏数据库的完整性约束,如外键、唯一性等。
比如:转账后两个账户的总金额应保持不变。隔离性(Isolation)
隔离性指多个事务并发执行时,一个事务的操作不会被其他事务干扰。MySQL 通过不同的隔离级别(如读未提交、读已提交、可重复读、串行化)来控制并发行为。
默认隔离级别为“可重复读”(REPEATABLE READ),能防止脏读和不可重复读问题。持久性(Durability)
持久性表示事务一旦提交,其对数据库的修改就是永久性的,即使系统发生故障也不会丢失。
MySQL 通过 redo log(重做日志)机制实现持久性,确保已提交事务的数据能够恢复。基本上就这些。ACID 特性共同保障了 MySQL 在复杂并发环境下的数据安全与正确性。
