Node mysql TypeError:conn.beginTransaction 不是函数

2024-04-28

我有一个 mysql 查询,我试图使用使用事务的 node-mysql 执行。它应该位于连接对象上,但我收到的错误表明它没有开始事务方法。

TypeError: conn.beginTransaction is not a function

这是交易代码:

dbutil.transaction(req.db, 

    function(done){

        req.db.query('INSERT INTO answers (question, user, background, importance, comment) values (?, ?, ?, ?, ?)',
            [question, user, background, concurrence, importance, comment],  function (err, result){
                console.log('result from insert query: ', result);
                console.error('error: ', err);
                done();
            // req.db.query('INSERT INTO concurrenceAnswers (concurrence) values (?)',
            //     [concurrence], function (err, result){
            //         console.log('result form insert query: ', result);
            //         console.error('error: ', err);

            // })

        });


    }, function(){}

    );

及交易方式:

exports.transaction = function(conn, body, done) {
    conn.beginTransaction(function(err) {
        if (err) return done(err);

    body(function(err) {
        if (err) return conn.rollback(function() {
            done(err);
        });

        conn.commit(function(err) {
            if (err) return conn.rollback(function() {
                done(err);
            });

            done();
        });
    });
});
};

Req.db.query 是:

var db = mysql.createPool({
connectionLimit: config.db.connectionLimit,
host:            config.db.host,
user:            config.db.user,
password:        config.db.password,
database:        config.db.database,
port:            config.db.port

});


当您使用池时,您首先需要从池中获取连接(您不能像查询一样直接使用池来开始事务):

exports.transaction = function(connection, body, done) {

  connection.getConnection(function(err, conn) {

    conn.beginTransaction(function(err) {
      if (err) return done(err);

      body(function(err) {
        if (err) return conn.rollback(function() {
          done(err);
        });

        conn.commit(function(err) {
          if (err) return conn.rollback(function() {
            done(err);
          });

          done();
        });
      });
    });
  });
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Node mysql TypeError:conn.beginTransaction 不是函数 的相关文章

  • uncss 错误:C.UTF-8:不是有效的语言标签

    嗨 我正在尝试使用UNCSS https github com giakki uncss第一次从 CSS 中删除未使用的样式 我收到以下错误 Fontconfig 警告 忽略 C UTF 8 不是有效的语言标记 home ubuntu nv
  • 如何在 Node.js 中打开 Windows-1255 编码文件?

    我有一个 Windows 1255 希伯来语 编码的文件 我希望能够在 Node js 中访问它 我尝试使用打开文件fs readFile 它给了我一个Buffer我无能为力 我尝试将编码设置为Windows 1255 但这没有被识别 我还
  • 如何在 MongoDB v3.0.5 中创建用户

    我需要在 mongodb 中为我的数据库创建一个用户 但似乎我无法让它工作 我已经在我的 Windows 7 机器上安装了 mongoDb v3 0 5 根据本文 https docs mongodb org v3 0 tutorial a
  • 如何从 Visual Studio Code API 打开浏览器

    我只是在探索一种从用于开发扩展的 Visual Studio Code API 打开默认浏览器的方法 以下是我的代码 var disposable vscode commands registerCommand extension brow
  • 从 node.js 创建对 AWS ES 实例的有效签名请求

    我试图找到一个示例 说明如何连接到 Node js 中的 AWS ES 实例 然后通过一个简单的请求访问 ES 集群 我正在尝试使用elasticsearch节点包 https www npmjs com package elasticse
  • 如何使用node.js获取屏幕分辨率

    我需要使用 node js 获取屏幕分辨率 但以下代码不起作用 var w screen width var h screen height 这也行不通 var w window screen width var h window scre
  • Docker-compose:npm 安装成功后卷中不存在 node_modules

    我有一个具有以下服务的应用程序 web 在端口 5000 上保存并运行 python 3 Flask Web 服务器 使用 sqlite3 worker 有一个index js文件是队列的工作人员 Web 服务器通过端口使用 json AP
  • 获取 Promise 的值并分配给变量

    utility fetchInfo 返回一个 Promise 对象 我需要能够获取此 Promise 对象的值 并将其值分配给一个变量 以便稍后在我的代码中使用 此刻 我可以愉快地打印出result到控制台 但我需要能够将此值分配给myVa
  • 如何编写自己的CasperJS模块?

    例如 我有一个经常需要执行的步骤 例如在某些测试之前用户登录 如何为 CasperJS 编写可重用的代码块 他们的扩展 CasperJS 的文档只为一个文件编写 Thanks 这是一个简单的方法 如果不熟悉 CoffeeScript 请在
  • 在 iOS 中,http 204 响应返回空白页面,有办法阻止这种情况吗?

    以前可能有人问过这个问题 但我似乎找不到解决方案 所以如果是这种情况 我深表歉意 我正在开发一个使用express的简单节点应用程序 其中一个帖子路由返回 http 204 并发送它 下面是我的代码 router post id funct
  • 弹出表单可见,但 Puppeteer 中缺少 html 代码

    我目前正在尝试从网站获取一些信息 https www bauhaus info https www bauhaus info 并在 cookie 弹出表单中失败 到目前为止 这是我的代码 async gt const browser awa
  • 将jquery与nodejs一起使用时的基本错误

    我正在尝试在我的项目中使用一些jquery 当我尝试使用它时 我在复制的代码中遇到了错误 并且无法获得任何有关它的谷歌帮助 var jquery require jquery var jquery create TypeError Obje
  • 谷歌应用程序引擎nodejs本地开发

    有没有办法在本地运行我的nodejs应用程序 以便我可以模拟在生产App Engine中运行的应用程序而无需部署它 由于某种原因 我的应用程序在 Google App Engine 中的行为与我的本地主机不同 我厌倦了每次为了查看是否存在错
  • 已安装全局 NPM 包但未找到命令

    我已经全局安装了两个 npm 包 下载 https www npmjs com package download and 谜虚拟盒 https www npmjs com package enigmavirtualbox通过命令行 npm
  • 在使用 supertest 和 Node.js 的测试中,res.body 为空

    我正在测试 Node js API超级测试 https github com visionmedia supertest 我无法解释为什么res body对象超集返回为空 数据显示在res text对象 但不是res body 知道如何解决
  • 如何使用express在node.js中使浏览器关闭后会话过期?

    我在用 req session cookie maxAge 14 24 3600 1000 0 让会话在两周后过期 但现在我想让它在浏览器关闭后过期 有什么办法可以做到吗 来自连接会话中间件文档 https github com expre
  • lessc:未找到命令

    我使用的是 OS X 8 并且是 Node LESS 的新手 我以为我之前安装了 lessc 当我转到 usr local bin 时 我看到了 lessc 但对于我的生活来说 我无法运行它 每当我运行它时 我都会看到 bash lessc
  • 使用 NVM 安装多个版本的 node.js (Ubuntu)

    如何使用 Ubuntu 在 Ubuntu 中安装多个版本的 Node jsNVM https github com creationix nvm 先验知识 如何使用终端 例如 您可以使用gnome terminal 安装依赖项 sudo a
  • 模拟节点外部模块默认使用 jest 的链式方法

    在我们的节点 CLI 中 我们有一个简单的方法 use strict const ora require ora module exports function startSpinner textOnStart color spinnerT
  • 如何从 Node.js 中的 Http.IncomingMessage 检测 http 与 https

    给定一个Http IncomingMessage由一个创建http s Server为了响应请求 检测请求是否是 http 与 https 的正确 推荐方法是什么 一些我不知道的随机想法是否正确 检查端口 seems wrong might

随机推荐

  • 使用并行的 parLapply:无法访问并行代码中的变量

    我最近得到了一台具有多个核心的计算机 并且正在学习使用并行计算 我相当熟练lapply并被告知parLapply工作原理非常相似 但我没有正确操作它 看来我必须明确地将所有内容放入parLapply使其工作 即要使用的函数 变量等 和lap
  • YouTube 视频 ID 的正则表达式

    我有以下代码可以从字符串中检测视频 ID 它实际上捕获了我需要的更多情况 我想让它更简单并仅返回以下格式的字符串的 id https www youtube com watch v 85PMSYAguZ8 https youtu be 85
  • 在 Jetty 运行时设置 ssl 密钥库

    是否可以在运行时更改密钥库 目前我正在设置 SSL 然后再执行 server start sslContextFactory setTrustStore ks sslContextFactory setTrustStorePassword
  • 无法获取 GED 日志缓冲区,错误(0)

    我的 Android 项目有一个大问题 那就是error Failed to get GED Log Buf err 0 我真的不知道该怎么办以及如何解决它 有人可以帮我吗 非常感谢 Find Advanced logging在你手机的De
  • TSQL 检索当月/当年的所有记录

    我有一个名为 DateFinished 的日期时间字段 我需要能够检索 DateFinished 在当前月份 年份内的所有记录 如果您只有少量行 这将可以获取所有行DateFinished就在今年这个月 SELECT FROM MyTabl
  • 内部应用程序 - 为什么不公开所有内容?

    我是否有理由不应该在我们的 Intranet 报告应用程序中将所有内容标记为公开 公司之外的任何人都无法访问此代码 我们有大约 20 个项目 大多数都是小型且具体的 我们真的应该将事物标记为公开以外的任何东西吗 我对此有自己的想法 但我试图
  • pgadmin4 : 无法联系 postgresql 应用程序服务器。

    我在 Windows 8 1 上安装了 PostgreSQL 9 6 2 但 pgadmin4 无法联系本地服务器 我尝试了 stackoverflow 中建议的几种解决方案 尝试卸载并重新安装 PostgreSQL 9 6 2 尝试修改
  • 当我管理推送通知时如何知道我的应用程序是否打开

    使用Android 当我收到通知推送抛出我的GCMIntentService时 我想知道我的应用程序是否打开 因为如果我的应用程序在用户单击通知时打开 我不想执行任何操作 但如果应用程序关闭我想打开应用程序 启动根活动 清单中具有 ACTI
  • 为什么他们会对某些初始值设定项列表进行特殊处理,而不是将它们全部视为相同?

    假设我有一个变量auto x我想初始化为7使用大括号初始化 简单 auto x 7 除了我了解到 x 是NOT一个整数 但它本身是一个初始化列表 为什么 委员会决定是否有具体原因auto应该在单个自动值的情况下获取初始化列表 或者他们是否希
  • Laravel 输入:get() 不起作用

    我正在尝试在 Laravel 4 中使用 post 函数 我的表单有许多字段 在提交时 会转到控制器中的 post 函数 问题是 表单中的字段名称之间有空格 例如 Type 1 是输入的名称 中间有一个空格 现在 当我尝试通过执行以下操作来
  • Django JavaScript 翻译 gettext 未定义

    我的 JavaScript 函数包含以下内容 document getElementById example innerHTML gettext This is an example 我的 urls py 看起来像 urlpatterns
  • 类似代码之间 numpy 的巨大速度差异

    为什么以下L2范数计算之间的速度差异如此之大 a np arange 1200 0 reshape 1 3 timeit np sqrt a a sum axis 1 100000 loops best of 3 12 s per loop
  • CSS 术语:这些叫什么?

    考虑 p foo bar CSS 中这些语句的正确名称是什么 我见过它们被称为选择器 规则或规则集 但哪个是正确的 将考虑一条规则 p 本例中的选择器是 p 规则由选择器和声明组成 声明是property value所以整个规则是 sele
  • 如何使用 Enumerable.Range 获取备用数字?

    If Start 0 and Count 10那么如何使用获取替代值Enumerable Range 输出应该是这样的 0 2 4 6 8 and if Start 1 and Count 10 then 1 3 5 7 9 连续值可以得到
  • 设置Webstorm/PHPStorm文件刷新时间

    这可能只是一些我似乎找不到的简单设置 事情是这样的 我有一个带有一些 Compass Sass CSS 的 Web 项目 当我修改 Sass 文件时 Compass 会自动为我创建相应的 CSS 文件 如果文件发生更改 Webstorm 会
  • 如何在 PHPUnit 中执行所有测试?

    我正在尝试从我的测试套件运行所有测试 但是当我运行命令时 PHPUnit 找不到测试phpunit 我在 phpunit xml 中配置测试套件 phpunit xml
  • 为什么 document.getElementById 在 IE8 中被视为对象

    我注意到document getElementById是 Firefox 和 Chrome 中的一个函数 而typeof 至少 将其视为 IE8 中的对象 有人知道为什么吗 IE8 尝试 实现 https en wikipedia org
  • 输出罐子是空的。您是否指定了正确的“-keep”选项?

    我正在尝试从 ant 构建一个发布 APK 文件 这就是我在控制台中得到的内容 D AndroidSDK android sdk r18 windows android sdk windows tools ant build xml 595
  • 是否可以同步调用异步调用?

    我在下面放置了一些非常基本的代码来说明我正在尝试做的事情 我有执行异步操作的 DoSomethingAshnc 方法 我希望 DoSomething 方法成为同步方法 不接受操作参数并返回 int public void DoSomethi
  • Node mysql TypeError:conn.beginTransaction 不是函数

    我有一个 mysql 查询 我试图使用使用事务的 node mysql 执行 它应该位于连接对象上 但我收到的错误表明它没有开始事务方法 TypeError conn beginTransaction is not a function 这