首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java脚本-如何结束与DB的连接?

问Java脚本-如何结束与DB的连接?
EN

Stack Overflow用户
提问于 2018-10-10 17:35:33
回答 4查看 149关注 0票数 0

我有下面的代码,它运行良好(从数据库获取数据),但是当我从终端(例如node db.js)运行它时,它会返回数据,但永远不会关闭(不能在终端中键入next命令。

代码语言:javascript
复制
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的末尾添加什么?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-10-10 17:41:32

您可以结束与connection.end();的连接,您必须在查询之后添加它,因为查询必须先完成。以下是您修改的代码:

代码语言:javascript
复制
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服务器发送退出数据包之前执行所有剩余的查询。

https://github.com/mysqljs/mysql#introduction

票数 1
EN

Stack Overflow用户

发布于 2018-10-10 17:39:36

因为所有查询都必须在结束连接之前完成,所以将下面的行放在回调之外:

connection.end();

票数 0
EN

Stack Overflow用户

发布于 2018-10-10 17:39:43

您可以通过调用process.exit();方法来结束该进程。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52745876

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档