手动提交模式

总结

介绍了数据库事务的手动提交模式。

简介

除了自动提交模式,数据库事务还支持手动提交模式。

手动提交模式的优势

  • 数据一致性: 可以将多个操作组合成一个事务,确保数据的一致性。如果其中一个操作失败,整个事务可以回滚,保证数据不发生异常。
  • 性能优化: 可以减少与数据库的交互次数,提高性能。

举例说明

-- 转账实现示例

/*使用set语句来改变自动提交模式,MySQL中默认是自动提交,使用事务时应先关闭自动提交*/
SET autocommit = 0; /*关闭*/
SET autocommit = 1; /*开启*/

-- 关闭自动提交
SET autocommit = 0; 
-- 开始一个事务,标记事务的起始点
START TRANSACTION; 
UPDATE account SET cash=cash-500 WHERE `name`='A';
UPDATE account SET cash=cash+500 WHERE `name`='B';

-- 提交事务
COMMIT; 

-- 回滚事务
# rollback;

-- 恢复自动提交
SET autocommit = 1; 

-- 保存点
SAVEPOINT 保存点名称 -- 设置一个事务保存点
ROLLBACK TO SAVEPOINT 保存点名称 -- 回滚到保存点
RELEASE SAVEPOINT 保存点名称 -- 删除保存点

自动提交 VS 手动提交

特征 自动提交模式 手动提交模式
事务提交时机 每条 SQL 语句执行后自动提交 需要显式调用 COMMIT 命令提交
事务范围 每条 SQL 语句是一个独立的事务 多条 SQL 语句可以组成一个事务
应用场景 对数据一致性要求不高的场景 对数据一致性要求高的场景,如转账、更新多个表等

关联文章


文章作者: huan
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明来源 huan !
  目录