示例
示例
-- 两库通用写法
START TRANSACTION; -- PostgreSQL 里等价的 BEGIN 更常用
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT; -- 中途出错:ROLLBACK;| 原子性 | COMMIT 前对外不可见(READ COMMITTED 及以上) |
|---|---|
| 显式事务 | MySQL autocommit=1 下每条语句自成一个事务;显式 BEGIN 后才成组 |
| 时长 | 事务保持短:长事务占 undo/WAL、阻塞 DDL 与清理 |