BEGIN
开启事务。
简介
START TRANSACTION(或 BEGIN)开启显式事务,使随后的一组修改能够作为一个整体提交或回滚。事务开始前应确定范围,执行期间尽量缩短等待和交互时间,避免长时间持锁。它不是备份机制,事务最终必须使用 COMMIT 或 ROLLBACK 明确结束。
基础语法
START TRANSACTION;
示例
BEGIN 示例
开启一个显式事务并展示当前事务状态;示例环境不会把未提交修改保留到其他页面。
运行结果
| 语句 | 作用 | 注意事项 |
|---|---|---|
| START TRANSACTION | 开始一个事务;后续语句作为同一工作单元,直到 COMMIT 或 ROLLBACK。 | 事务的实际表现还受存储引擎、隔离级别和会话状态影响;涉及锁等待、并发或故障恢复时,应在目标 MySQL 环境做完整测试。 |
常见问题
BEGIN 之后必须做什么?
事务最终需要 COMMIT 持久化或 ROLLBACK 撤销,不能长期保持未结束状态。
事务能代替备份吗?
不能。事务解决一组操作的一致性,备份用于灾难恢复,两者作用不同。
为什么事务会阻塞其他请求?
未提交的修改可能持有锁;事务应尽量短,并按固定顺序访问资源。
标签
这篇内容是否清楚?
感谢反馈,我们会把它用于后续内容复核。