mysql中事务笔记黑马
时间: 2025-01-23 14:02:52 浏览: 32
### 关于 MySQL 中事务的笔记
#### 一、事务的概念及其重要性
在关系型数据库管理系统中,事务是指作为单个逻辑工作单元执行的一系列操作。要么全部完成,要么完全不起作用。这确保了数据一致性和可靠性。
#### 二、四大特性(ACID)
- **原子性**:整个事务是一个不可分割的工作单位;如果其中任何一个SQL语句失败,则整个事务都将被回滚到初始状态。此过程依赖undo log来实现[^3]。
- **一致性**:指事务前后必须保持数据的一致性约束条件不被破坏。通过组合使用`undo log`和`redo log`可以保障这一点,在提交前验证并调整可能违反规则的数据项。
- **隔离性**:多个并发运行之间的互不干扰。MySQL采用锁机制以及多版本并发控制(MVCC)技术达成不同级别下的安全访问模式。
- **持久性**:一旦事务成功结束,它对于系统的影响就是永久性的。即使发生宕机事件也能依据redolog恢复未同步至磁盘的变化记录。
#### 三、常见应用场景举例说明
当涉及到银行转账这样的敏感业务场景时,就需要利用好上述提到的各种性质以防止出现资金丢失或者重复入账等问题的发生。比如A账户向B账户转款的过程中,应该先扣减A余额再增加B金额,并且这两步要放在同一个事务里边处理才能保证最终结果无误。
```sql
START TRANSACTION;
UPDATE account SET balance = balance - 100 WHERE user_id = 'A';
UPDATE account SET balance = balance + 100 WHERE user_id = 'B';
COMMIT;
```
阅读全文
相关推荐



















