使用mysql2/promise时如何关闭sql连接?

Posted

技术标签:

【中文标题】使用mysql2/promise时如何关闭sql连接?【英文标题】:How to close sql connection when using mysql2/promise? 【发布时间】:2017-06-18 14:58:09 【问题描述】:

我有这样的nodejs代码:

var mysql = require('mysql2/promise');

mysql.createConnection(
    host: "localhost",
    user: "root",
    password: "123123",
    database: "mydatabase"
)
.then((connection) => connection.execute("SELECT * FROM mytable"))
.then(([rows, fields]) => 
    console.log(rows);
);

当我执行它时,应用程序会打印数据库行数组,然后仍在运行。似乎它发生是因为连接没有被释放。 console.log之后怎么释放?

我试过这种方式:

var mysql = require('mysql2/promise');

mysql.createConnection(
    host: "localhost",
    user: "root",
    password: "123123",
    database: "mydatabase"
)
.then((connection) => 
    connection.execute("SELECT * FROM mytable")
    .then(([rows, fields]) => 
        console.log(rows);
        connection.release();
    );
);

但结果是TypeError: this.connection.release is not a function

对不起我的英语。

有什么想法吗?

【问题讨论】:

我不认为release 是正确的函数名称。 reference documentation 表示它是 enddestroy 【参考方案1】:

由于mysql2 主要保持与mysql 的API 兼容性,您应该能够关闭与connection.end() 的连接。

【讨论】:

以上是关于使用mysql2/promise时如何关闭sql连接?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 youwave 连接到本地 sql 数据库 [关闭]

如何从 Power BI 连接到 SQL Server 数据库? [关闭]

有人可以告诉我如何使用 ColdFusion 连接到 H2 数据库吗? [关闭]

通过***通过Windows身份验证连接到sql [关闭]

如何让即插即用的 WPF 应用程序创建 SQL 数据库? [关闭]

XAMPP 是不是支持 SQL Server? [关闭]