首页 > 数据库 > SQL > 正文

mysql中事物怎么使用

冷炫風刃
发布: 2025-11-04 19:36:02
原创
471人浏览过
答案:MySQL事务通过START TRANSACTION、COMMIT和ROLLBACK确保数据一致性,需使用InnoDB引擎。开启事务后执行SQL操作,成功则COMMIT提交,失败则ROLLBACK回滚,常用于转账等场景。

mysql中事物怎么使用

在MySQL中,事务用于确保一组数据库操作要么全部成功,要么全部失败,保证数据的一致性。使用事务的关键是将多个SQL语句作为一个逻辑单元来执行。

开启事务

在MySQL中,默认情况下每条SQL语句都是自动提交的(autocommit = 1)。要使用事务,需要先关闭自动提交模式,或者显式地开始一个事务。

- 使用 START TRANSACTION 显式开始一个事务 - 或者设置 SET autocommit = 0 关闭自动提交

示例:

START TRANSACTION;
-- 后续的SQL语句将处于同一个事务中

执行SQL操作

在事务开启后,可以执行多条SQL语句,比如INSERT、UPDATE、DELETE等。这些操作不会立即生效(其他会话看不到),直到你提交事务。

- 执行转账操作:从A账户减钱,向B账户加钱
- 检查余额是否足够
- 更新相关记录

示例:

UPDATE accounts SET balance = balance - 100 WHERE user = 'Alice';
UPDATE accounts SET balance = balance + 100 WHERE user = 'Bob';

提交或回滚事务

根据操作结果决定是否保存更改。

造好物
造好物

一站式AI造物设计平台

造好物 70
查看详情 造好物
- 使用 COMMIT 提交事务,使所有更改永久生效
- 使用 ROLLBACK 回滚事务,撤销所有未提交的更改

示例:

COMMIT; -- 成功完成,保存更改
-- 或者
ROLLBACK; -- 出现错误,撤销操作

实际应用场景

常见于银行转账、订单创建、库存扣减等需要保证一致性的场景。

例如转账流程:

- 开启事务
- 检查付款方余额是否充足
- 执行资金划转
- 记录交易日志
- 提交事务(全部成功)或回滚(任一步失败)

注意:只有使用支持事务的存储引擎(如InnoDB)才能使用事务功能。MyISAM不支持事务。

基本上就这些,掌握 START TRANSACTION、COMMIT、ROLLBACK 这三个核心语句就能正确使用MySQL事务了。

以上就是mysql中事物怎么使用的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号