Javascript Java脚本-如何结束与数据库的连接?
我有一个下面的代码,它从数据库中获取数据运行良好,但当我从终端(如node db.js)运行它时,它会返回数据,但不会关闭,不能在终端中键入下一个命令Javascript Java脚本-如何结束与数据库的连接?,javascript,node.js,Javascript,Node.js,我有一个下面的代码,它从数据库中获取数据运行良好,但当我从终端(如node db.js)运行它时,它会返回数据,但不会关闭,不能在终端中键入下一个命令 var mysql = require('mysql'); var connection = mysql.createConnection({ host: '...', user: '...', password: "..., port : ..., //port mysql database: '...
var mysql = require('mysql');
var connection = mysql.createConnection({
host: '...',
user: '...',
password: "...,
port : ..., //port mysql
database: '...'
});
connection.connect(function(err) {
if (err) throw err;
connection.query("SELECT * FROM table", function (err, result, fields) {
if (err) throw err;
console.log(result);
});
});
应该向.js的结尾添加什么?因为在结束连接之前必须完成所有查询,所以将以下行放在回调之外:
连接端 您可以通过调用
过程。退出;方法。完成查询后,您需要告诉MySQL.js关闭连接。例如:
var mysql = require('mysql');
var connection = mysql.createConnection({
host: '...',
user: '...',
password: "...,
port : ..., //port mysql
database: '...'
});
connection.connect(function(err) {
if (err) throw err;
connection.query("SELECT * FROM table", function (err, result, fields) {
if (err) throw err;
console.log(result);
connection.end(function (err) { if (err) throw err; } });
});
});
有关更多信息,请参阅MySQL.js文档:您可以使用connection.end结束连接; 您必须在查询之后添加它,因为查询必须首先完成。这是您修改过的代码:
var mysql = require('mysql');
var connection = mysql.createConnection({
host: '...',
user: '...',
password: "...,
port : ..., //port mysql
database: '...'
});
connection.connect(function(err) {
if (err) throw err;
connection.query("SELECT * FROM table", function (err, result, fields) {
if (err) throw err;
console.log(result);
});
connection.end();
});
使用end关闭连接,确保所有
剩余的查询将在向服务器发送quit数据包之前执行
mysql服务器
此外,每次需要与数据库交互时打开和关闭连接的效率极低。我会查看文档并阅读连接池,这是在应用程序中管理MySQL连接的好方法。