SQL 学习笔记:事务 TRANSACTION(事务)
一、事务 语法
-- Oracle: 自动开启
COMMIT; -- 提交
ROLLBACK; -- 回退
SAVEPOINT sp; -- 保存点
-- MySQL(InnoDB):
START TRANSACTION; ... COMMIT;二、参数说明
| 项目 | 说明 |
|---|---|
COMMIT | 提交事务,使更改永久生效 |
ROLLBACK | 回滚到事务开始或指定保存点 |
SAVEPOINT | 在事务内打标记,可局部回滚 |
ACID | 原子性/一致性/隔离性/持久性 |
三、注意事项
- Oracle 执行第一条 DML 即隐式开启事务;MySQL 需 START TRANSACTION(InnoDB)
- 只有 InnoDB 等事务引擎支持;MyISAM 不支持事务
- 异常时应 ROLLBACK,避免脏数据;COMMIT 后不可回退
四、经典案例
案例1:转账提交
案例2:出错回滚
案例3:保存点局部回滚
五、小结
事务 TRANSACTION是数据库操作中的基础而关键的用法,建议结合文中的示例表在 Oracle 与 MySQL 中分别动手验证,注意两者在自增、分页、正则等处的语法差异,做到融会贯通。
评论(0)
请登录后发表评论。