我有下面的代码,它运行良好(从数据库获取数据),但是当我从终端(例如node db.js)运行它时,它会返回数据,但永远不会关闭(不能在终端中键入next命令。
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的末尾添加什么?
发布于 2018-10-10 17:41:32
您可以结束与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()完成的,这确保在向mysql服务器发送退出数据包之前执行所有剩余的查询。
发布于 2018-10-10 17:39:36
因为所有查询都必须在结束连接之前完成,所以将下面的行放在回调之外:
connection.end();
发布于 2018-10-10 17:39:43
您可以通过调用process.exit();方法来结束该进程。
https://stackoverflow.com/questions/52745876
复制相似问题