首页/数据/数据库速查/事务:BEGIN / COMMIT / ROLLBACK
本包目录(495 条)
MySQL 基础与连接36 条
SQL 语法52 条
用户与权限21 条备份与恢复56 条主从复制与高可用53 条性能与调优57 条Redis 命令96 条Redis 运维与场景124 条

事务:BEGIN / COMMIT / ROLLBACK

把多条语句打包成原子单元;InnoDB 默认 REPEATABLE READ,配合行锁与 MVCC 保证一致性。

数据库速查数据更新于 2026-10-12
用途原子性操作组
语句START TRANSACTION / COMMIT / ROLLBACK / SAVEPOINT
默认隔离级别REPEATABLE READ

基本事务

基本事务
START TRANSACTION;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT;   -- 或 ROLLBACK;

保存点

保存点
START TRANSACTION;
INSERT INTO audit_log(msg) VALUES ('begin');
SAVEPOINT sp1;
UPDATE counters SET cnt = cnt + 1 WHERE id = 7;
ROLLBACK TO sp1;
COMMIT;
长事务会撑大回滚段、阻塞 DDL 与复制;事务里不要夹带网络调用或人工等待。

易错点

  • autocommit 默认为 1:单条语句即一个事务;显式 BEGIN 后的语句才在同一个事务里
  • 隐式提交陷阱:DDL、部分管理语句会悄悄结束当前事务

数据来源与参考

  • MySQL 8.0 Reference Manual: Transaction Statements

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌