当前位置: 首页 > 知识库问答 >
问题:

节点。js mysql池启动

宓博实
2023-03-14

我一直在想,节点中是否有beginTransaction。js mysql在一个池中使用多个连接(如果我在事务中有多个查询),还是在提交之前只使用一个连接?

共有1个答案

史旺
2023-03-14

事务不能由多个数据库连接共享,并且始终仅限于单个连接。最好的方法是在开始事务之前从池中获取连接,并在回滚或提交后释放它。

pool.getConnection(function(err, connection) {
    connection.beginTransaction(function(err) {
        if (err) {                  //Transaction Error (Rollback and release connection)
            connection.rollback(function() {
                connection.release();
                //Failure
            });
        } else {
            connection.query('INSERT INTO X SET ?', [X], function(err, results) {
                if (err) {          //Query Error (Rollback and release connection)
                    connection.rollback(function() {
                        connection.release();
                        //Failure
                    });
                } else {
                    connection.commit(function(err) {
                        if (err) {
                            connection.rollback(function() {
                                connection.release();
                                //Failure
                            });
                        } else {
                            connection.release();
                            //Success
                        }
                    });
                }
            });
        }    
    });
});
 类似资料:
  • 我正在用node编写一个小的Web应用程序。js MySQL,不知道哪一个是连接池的更好选择。到目前为止,我发现了两种选择:从节点mysql进行连接池(https://github.com/felixge/node-mysql#pooling-连接)以及节点mysql通用池(https://github.com/coopernurse/node-pool).两者似乎都有相同的作用,我只是想知道你是

  • 目前针对不同的共识协议,可以创建对应的应用链节点池,接受对应SCS的注册,并缴纳保证金,进入节点池后,成为应用链的候选节点 如果加入现成的应用链节点池,则可以忽略此步骤 部署SubChainProtocolBase.sol示例: 共识:POR 最低保证金: 2 moac > chain3 = require('chain3') > solc = require('solc') > chain3 =

  • 首先部署vnode节点池合约,VnodeProtocolBase,如果加入现成的vnode节点池,则可以忽略此步骤。 加入节点池的代理Vnode节点被用于提供应用链调用服务和应用链历史数据中转服务的节点。 以下为nodejs部署示例:最低保证金为 2 moac > chain3 = require('chain3') > solc = require('solc') > chain3 = new

  • 我正尝试使用以下指南在伪分布式配置中设置Hadoop 0.20.203.0版本: http://www.javacodegeeks.com/2012/01/hadoop-modes-explained-standalone.html 运行脚本后,运行“jps”。 我有个错误: 我不完全确定,但我相信这可能与datanode没有运行有关。 有谁知道我做错了什么,或者怎么解决这个问题吗? 编辑:这是d

  • 问题内容: 考虑以下简单的Node.js应用程序: 它向google.com发出2000个HTTP请求,一个接一个。问题在于它会请求5号并暂停大约3分钟,然后继续处理请求6-10,然后再暂停3分钟,然后再请求11-15,然后暂停,依此类推。 编辑: 我尝试将www.google.com更改为localhost,这是运行我的计算机的极其基本的Node.js应用程序,返回“ Hello world”,

  • 问题内容: 我正在尝试用Elasticsearch替换Solr设置。这是一个新的设置,尚未投入生产,因此我有很大的空间来摆弄各种东西并使它们运转良好。 我有非常大量的数据。我正在索引一些实时数据并将其保留7天(通过使用_ttl字段)。我不在索引中存储任何数据(并禁用了_source字段)。我预计我的指数将稳定在 200亿 行左右。我将把这些数据放入2-3个命名索引中。到目前为止,多达数十亿行的搜索