mysql如何提交事务_mysql COMMIT事务提交方法

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

在 MySQL 中,事务是一组 SQL 操作的集合,这些操作要么全部成功执行,要么全部不执行。要让事务中的修改永久生效,就需要使用 COMMIT 命令来提交事务。

开启事务并提交的基本流程

MySQL 默认是自动提交模式(autocommit = 1),即每条 SQL 语句执行后会立即提交。如果需要手动控制事务,应先关闭自动提交,执行相关操作后再显式提交。

使用 START TRANSACTIONBEGIN 开始一个事务 执行一条或多条 SQL 语句(如 INSERT、UPDATE、DELETE) 使用 COMMIT 提交事务,使更改永久保存

示例:

START TRANSACTION;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT;

上述代码将资金从账户 1 转移到账户 2,COMMIT 执行后,两个更新操作才会真正写入数据库。

自动提交模式说明

autocommit = 1 时,每个 SQL 语句都会被当作一个独立事务自动提交。可以通过以下命令查看和设置:

-- 查看当前自动提交状态
SELECT @@autocommit;
<p>-- 关闭自动提交
SET autocommit = 0;</p><p>-- 开启自动提交
SET autocommit = 1;</p>

关闭自动提交后,必须使用 COMMIT 显式提交,否则更改不会持久化。

COMMIT 的作用与注意事项

COMMIT 的主要作用是:

永久保存事务中所有数据更改 释放事务占用的锁资源 标志事务正常结束

注意:

一旦提交,数据变更无法通过 ROLLBACK 回滚 COMMIT 只对当前会话有效,其他会话在此之前不可见未提交的更改 DDL 语句(如 CREATE、ALTER)会隐式提交当前事务

基本上就这些。只要记得开启事务后用 COMMIT 确认提交,就能确保数据按预期保存。操作关键数据时,建议结合 ROLLBACK 做好异常处理,避免错误提交。

相关推荐