mysql - Node 和 MySQL

标签 mysql node.js

据我所知,根据非阻塞 I/O 理论,一切都应该在回调中。

所以我很困惑,例如 felixge/node-mysql

connection.connect();

connection.query('SELECT 1 + 1 AS solution', function(err, rows, fields) {
  if (err) throw err;

  console.log('The solution is: ', rows[0].solution);
});

connection.end();

但我认为这是错误的例子,因为 .end() 可能发生在连接建立之前。

可以给我正确的连接、查询和结束 mysql 连接的例子吗

connection.connect(function(err) {
    if (err) {
        console.error('error connecting: ' + err.stack);
        return;
    }

    // As I understand every "query" should happen here
});

最佳答案

mysql 模块内部有一个在连接时处理的查询队列。一旦 .end() 被调用,连接只会在队列为空时结束。

此外,.connect() 是不必要的,因为在断开连接时调用 .query() 将隐式触发连接。

关于mysql - Node 和 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32330799/

相关文章:

Node.js 连接仅适用于本地主机

javascript - 在调用另一个方法后异步方法没有显示任何进展

node.js - 在 Node.js 中解析 XML 会导致内存使用量极大

mysql - 添加 TOP 的 DELETE 查询

node.js - "npm start"webpack-dev-server 错误

mysql - mysql 失败事务的可伸缩性

mysql - 如何获取此查询中重复项的大小?

node.js - 在node js中通过xml privateKey对字符串进行签名

mysql - 如何连接没有公共(public)列的2个表?

php - 无法使用此代码连接 mysql 数据库