事务 ACID 特性
ACID 就是数据库里一个事务必须满足的 4 个规矩,保证数据不出错、不乱套。
1. A = Atomicity 原子性
要么全部成功,要么全部失败,不做一半
- 就像转账:扣钱 + 加钱必须一起完成。
- 扣了钱但没加到对方账户 = 失败,数据回滚,跟没操作一样。
一句话:不可分割,要么全做,要么全不做
2. C = Consistency 一致性
操作前后,数据始终合法、合理
- 比如总钱数不变、余额不能为负、约束不能被破坏。
- 不管怎么转,数据库永远是 "对的状态"。
一句话:数据永远合法,不会出现奇怪结果
3. I = Isolation 隔离性
多个事务同时跑,互不干扰
- 你在转账,别人也在转账,互相看不见对方的中间状态。
- 避免:你刚扣钱还没加钱,别人读到一个错误余额。
一句话:各玩各的,互不影响
4. D = Durability 持久性
一旦提交成功,就永久保存
- 就算断电、崩溃、重启,成功提交的数据也不会丢。
- 不会出现 "刚才明明成功了,刷新又没了"。
一句话:提交了就是永久的
极简总结(背这个就行)
- A 原子性:要么全成,要么全不成
- C 一致性:数据始终合法
- I 隔离性:并发互不干扰
- D 持久性:成功就永久保存