ROLLBACK
回滚事务。
简介
ROLLBACK 取消当前尚未提交事务中的修改,并释放事务持有的相关资源。它只对当前事务内且尚未提交的操作有效,无法撤销已经提交的事务,也不能代替数据备份。发生校验失败或异常时,应由应用统一回滚,避免留下只完成一部分的业务状态。
基础语法
ROLLBACK;
示例
ROLLBACK 示例
回滚当前示例事务并显示已撤销状态,说明错误处理时如何放弃尚未提交的修改。
运行结果
| 语句 | 作用 | 注意事项 |
|---|---|---|
| ROLLBACK | 撤销当前尚未提交的事务变更;若指定保存点,则只回滚到该位置。 | 事务的实际表现还受存储引擎、隔离级别和会话状态影响;涉及锁等待、并发或故障恢复时,应在目标 MySQL 环境做完整测试。 |
常见问题
BEGIN 之后必须做什么?
事务最终需要 COMMIT 持久化或 ROLLBACK 撤销,不能长期保持未结束状态。
事务能代替备份吗?
不能。事务解决一组操作的一致性,备份用于灾难恢复,两者作用不同。
为什么事务会阻塞其他请求?
未提交的修改可能持有锁;事务应尽量短,并按固定顺序访问资源。
标签
这篇内容是否清楚?
感谢反馈,我们会把它用于后续内容复核。