gpt4 book ai didi

javascript - Node.js + MySQL - 处理事务

转载 作者:IT老高 更新时间:2023-10-28 23:10:29 30 4
gpt4 key购买 nike

我正在使用 express 和 node-mysql 驱动程序在 node.js 上构建应用程序。当我需要进行一系列数据库插入/更新时,我的应用程序中有几种情况。我希望它们在一个事务中,如果第二个或第三个失败,以前的插入完全回滚。

目前,我这样做的方式是使用某种中间件,在请求到达时执行 START TRANSACTION。在处理请求的过程中,如果抛出任何错误,我会捕获此错误,并执行 ROLLBACK。如果没有发生错误,我会在将响应发送到浏览器之前执行 COMMIT

但是,我现在担心当多个用户同时访问应用程序时这将不起作用,因为如果另一个请求尝试使用 START TRANSACTION 开始它自己的事务,MySQL 会执行强制提交!我目前只使用一个 Node 实例,并为所有请求使用一个 MySQL 连接。

如果我的担忧是正确的,有人可以给我建议吗?我应该如何获得交易支持?

最佳答案

查看 https://github.com/bminer/node-mysql-queues

我为 node-mysql 实现了一个小包装器来支持事务和多个语句。它还没有经过测试,也没有准备好生产......但它会在几天内完成。 :)

更新:我现在已经对这个库进行了相当彻底的测试......应该很好!

关于javascript - Node.js + MySQL - 处理事务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5940380/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com