如何在mysql中使用COMMIT提交事务

来源:这里教程网 时间:2026-02-28 20:14:50 作者:

在 MySQL 中,COMMIT 用于提交当前事务,使自事务开始以来所做的所有数据更改永久生效。要正确使用 COMMIT,需要确保表存储引擎支持事务(如 InnoDB),并手动控制事务流程。

启用事务模式

MySQL 默认可能处于自动提交模式(autocommit = 1),这意味着每条语句都会立即被提交。要手动控制事务,必须先关闭自动提交:

SET autocommit = 0;
-- 或者使用
START TRANSACTION;

推荐使用 START TRANSACTION 显式开启一个事务块。

执行数据修改操作

在事务中可以执行 INSERT、UPDATE、DELETE 等操作,这些更改仅在当前会话中可见,不会影响其他会话,直到提交。

START TRANSACTION;
<p>UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;</p>

使用 COMMIT 提交更改

确认操作无误后,使用 COMMIT 将更改永久保存到数据库:

COMMIT;

执行 COMMIT 后,事务结束,所有更改生效,其他会话可看到结果。

异常处理与回滚

如果过程中发现错误或想放弃更改,应使用 ROLLBACK 回滚事务:

ROLLBACK;

例如,在转账过程中若发现余额不足,可回滚以保持数据一致性。

基本上就这些。只要记得开启事务、执行操作、确认无误后 COMMIT,就能安全地管理数据变更。注意 MyISAM 引擎不支持事务,务必使用 InnoDB。

相关推荐