SQLPathLab
事务 · 进阶

BEGIN

开启事务。

简介

START TRANSACTION(或 BEGIN)开启显式事务,使随后的一组修改能够作为一个整体提交或回滚。事务开始前应确定范围,执行期间尽量缩短等待和交互时间,避免长时间持锁。它不是备份机制,事务最终必须使用 COMMIT 或 ROLLBACK 明确结束。

基础语法

START TRANSACTION;

示例

BEGIN 示例

开启一个显式事务并展示当前事务状态;示例环境不会把未提交修改保留到其他页面。

运行结果

transaction_effect
语句作用注意事项
START TRANSACTION 开始一个事务;后续语句作为同一工作单元,直到 COMMIT 或 ROLLBACK。 事务的实际表现还受存储引擎、隔离级别和会话状态影响;涉及锁等待、并发或故障恢复时,应在目标 MySQL 环境做完整测试。

常见问题

BEGIN 之后必须做什么?

事务最终需要 COMMIT 持久化或 ROLLBACK 撤销,不能长期保持未结束状态。

事务能代替备份吗?

不能。事务解决一组操作的一致性,备份用于灾难恢复,两者作用不同。

为什么事务会阻塞其他请求?

未提交的修改可能持有锁;事务应尽量短,并按固定顺序访问资源。

标签

事务

这篇内容是否清楚?