标签: node-mysql

node.js:对于每行并异步更新?

我需要从数据库中查询行,每行处理一些信息,然后用结果更新每一行。

这是我的示例代码,其意图是遍历每一行并更新标签:

var mysql = require('mysql');

var db = mysql.createConnection(config.database);

db.connect(function() {
    db.query('SELECT id FROM testTable', function (err, rows) {
        if (err) {
            console.log(err);
        } else {
            if (rows.length) {
                for (var i = 0, len = rows.length; i < len; i++) {
                    var row = rows[i];
                    console.log(row);

                    var label = "Label_"+row.id;

                    db.query('UPDATE testTable SET label = ? WHERE id = ?', [label, row.id], function(err, result) {
                        if (err) {
                            console.log(err);
                        } else {
                            console.log("Set label on row %s", row.id); …
Run Code Online (Sandbox Code Playgroud)

asynchronous node.js node-mysql

4
推荐指数
1
解决办法
9014
查看次数

需要Node.JS + MySQL连接池吗?

使用该node-mysql模块,有两个连接选项 - 单个连接和连接池.设置与MySQL数据库的连接的最佳方法是什么,对所有请求使用单个全局连接,或者为每个请求创建一个连接池并从池中取一个连接池?或者有更好的方法吗?我是否只针对所有请求使用单个共享连接来解决问题?

mysql node.js node-mysql

4
推荐指数
1
解决办法
1255
查看次数

Expressjs响应为JSON和Xml

我正在做什么::我正在尝试从数据库生成数据集的json和xml输出

Express Code ::这里我正在尝试JSON响应

var express = require('express')
  , async = require('async')
  , http = require('http')
  , mysql = require('mysql'); 
  var xml = require('xml');

var app = express();

var connection = mysql.createConnection({
    host: 'localhost',
    user: 'root',
    database: 'MyDatabase'
});

connection.connect();

// all environments
app.set('port', process.env.PORT || 3007);

app.use(express.static(__dirname + '/public/images'));

app.get('/Result/',function(request,response){
    var name_of_restaurants;

    async.series( [
        // Get the first table contents
        function ( callback ) {
            connection.query('SELECT * FROM mas_buf_type', function(err, rows, fields)
                {
                        console.log('Connection result error '+err);
                        name_of_restaurants = …
Run Code Online (Sandbox Code Playgroud)

xml json node.js express node-mysql

4
推荐指数
1
解决办法
2万
查看次数

通过 SSH 连接 MySQL 时遇到问题

我正在本地 OS X 计算机上运行 Node Express 网站。

我需要 ssh 到远程 mysql 数据库,以便我可以开始针对它编写查询。

现在,当我通过 OS X Yosemite 终端执行此操作时,我可以 ssh 到云中的远程服务器(运行 mysql 数据库)。

但我没有成功地尝试使用 node-mysql 和tunnel-ssh 节点中间件在代码中完成此操作。

我的代码可以运行,但在 Webstorm 中调试我的 Express 应用程序时除了 GET 之外并没有真正出错。

一些事实

  • 我可以使用以下命令从 OS X SSH 到 mySQL:

    ssh -L 3306:127.0.0.1:3306 ourCloudServerName.net MyUserNameHere

  • 然后我可以使用以下命令连接到 mySQL:

    mysql -h localhost -p -u myUserNameHere

  • 当我在 mysql 命令提示符下输入 SHOW GLOBAL VARIABLES LIKE 'PORT' 时,我发现服务器(或数据库,我猜这意味着......不确定)正在端口 3306 上运行

  • 我正在通过 Webstorm 10.0.3 进行调试 这意味着我正在调试我的 Node Express 应用程序,它的启动方式如下:

    变量端口= 3000;

    app.set('端口', 端口);

    app.listen(app.get('port'), function(){ console.log('Express Web …

javascript ssh ubuntu node.js node-mysql

4
推荐指数
1
解决办法
3702
查看次数

如何在不将所有行加载到内存中的情况下使用 node-mysql?

我正在使用 NodeJS。我想对 1,000,000 行做一些事情而不将所有行加载到内存中。(for-each)

以前,当我使用 ASP Classic 时,我做了:

do while not rec.eof
   //do something
   rec.movenext
loop
Run Code Online (Sandbox Code Playgroud)

在 node-mysql 中,我没有发现任何类似于游标的东西。只要

connection.query('select * from bigdata',function(err,rows))
Run Code Online (Sandbox Code Playgroud)

问题是,我不想一次加载所有行。

我找到了答案,放在下面。我保留这个问题是为了帮助其他有同样问题的人

node.js node-mysql

4
推荐指数
1
解决办法
4081
查看次数

createConnection如何在mysql中使用nodeJS?

createConnection有什么作用?

var connection = mysql.createConnection({
  host     : 'example.org',
  user     : 'bob',
  password : 'secret'
});
Run Code Online (Sandbox Code Playgroud)

我正在使用mysql模块在nodeJS中编写应用程序.我有一些自己的模块,例如authentication,它们定义需要数据库连接.问题是:如果我有多个模块,我使用此方法创建连接,它是否每次都为我创建一个新连接或使用第一个?如果创建,它会在第一次加载我自己的模块时创建或每次创建?哦,如果它创造什么时候它会被摧毁?

这是我在我的authentication模块中的方式:

var config = require('./config.js');
var mysql = require('mysql');
var connection = mysql.createConnection(config.connectionString);

exports.login = function() ...
Run Code Online (Sandbox Code Playgroud)

我对模块和自己的模块如何工作有一些基本的了解.

谢谢你的回答.

node.js node-mysql node-modules

4
推荐指数
2
解决办法
1万
查看次数

无法从node.js服务器连接到localhost数据库

尝试连接到我的本地主机数据库时遇到很多麻烦。我尝试使用mysqlmysql-simple节点模块,但是在两种情况下我都无法连接它。

这是我与“ mysql”模块一起使用的内容:

var mysql = require('mysql');
var connection = mysql.createConnection({
  host     : 'localhost',
  port     : '8000',
  user     : 'uber',
  password : 'pass',
});

connection.connect(function(err) {
      if (err) throw err;

      console.log('Connection Successful');
});


connection.query('USE someDB', function(err) {
  if (err) throw err;

  console.log('Query Successful');
});
Run Code Online (Sandbox Code Playgroud)

这是我与“ mysql-simple”模块一起使用的内容:

var database = require('mysql-simple');
database.init('uber', 'pass', 'mysql', 'localhost', 8000);

database.querySingle('SELECT Host FROM user', function(err, results) {
    if (err) {
        console.log('error fetching some active users: ' + err);
        return;
    }
    log('Query …
Run Code Online (Sandbox Code Playgroud)

mysql node.js node-mysql

3
推荐指数
2
解决办法
2万
查看次数

使用node-mysql时出现SQL Parse错误

当我尝试使用node-mysql在MYSQL数据库上调用查询时,我遇到了解析错误.我很确定查询有效.毫无疑问,它通过phpmyadmin运行.

Message.save = function(message, callback){
    db.query("INSERT INTO e_message (chatid, message, userid) VALUES(" + message.chatid + ", '" + message.message +"', " + message.userid + "); SELECT * FROM e_message WHERE chatid = " + message.chatid + " ORDER BY timestamp DESC LIMIT 0, 1;", 
    function(err, rows, fields){
        console.log(err);
        callback(err, new Message(rows[0]));
    });
}
Run Code Online (Sandbox Code Playgroud)

我收到了以下错误:

{ [Error: ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to …
Run Code Online (Sandbox Code Playgroud)

javascript mysql node.js node-mysql

3
推荐指数
1
解决办法
5363
查看次数

关闭连接MySQL Node.js

我正在使用ExpressJS和MySQL开发一个Node应用程序.我正在使用这个模块https://github.com/felixge/node-mysql/,我正在学习它的用途.我对如何正确关闭连接感到麻烦.

这就是我做的:

app.post('/example', function (req, res) {

    //BD
    var connection = mysql.createConnection({
        host: config.database.host,
        port: config.database.port,
        user: config.database.user,
        password: config.database.password,
        database: config.database.database
    });

    var sql = '';

    if (varExample != null) {

         sql = 'Random query';

         connection.query(sql, function (err, results) {

             //Get results

             connection.end();
         }); 
    }
});
Run Code Online (Sandbox Code Playgroud)

有时我必须多次调用此方法才能在数据库中插入数据.那一刻我得到一个错误'太多连接'.

在这些情况下关闭连接的方法是什么?

node.js node-mysql

3
推荐指数
2
解决办法
1万
查看次数

node.js和mysql连接池不导出

我无法在node.js中导出池连接.我想要的是从db.js获取池中的连接并使用它,然后在使用它之后释放它.

db.js

var mySQL = require('mysql');
    var pool  = mySQL.createPool({
        host: config.host,
        user: config.user,
        password: config.password,
        database: config.database
    });
    var getConnection = function() {
        pool.getConnection(function(err, connection) {
            if(err) throw err;
            return connection;
        });
    };
    module.exports.pool = getConnection;
Run Code Online (Sandbox Code Playgroud)

query.js

var dbSql = require('./db');
var userQuery = 'select * from user';
var con = dbSql.pool();
console.log("con: " + con); //displays undefined
con.query(userQuery,function(err,user){
   con.release();
})
Run Code Online (Sandbox Code Playgroud)

上面我做console.log时("con:"+ con); 它显示未定义

mysql node.js node-mysql

3
推荐指数
1
解决办法
4658
查看次数

标签 统计

node-mysql ×10

node.js ×10

mysql ×4

javascript ×2

asynchronous ×1

express ×1

json ×1

node-modules ×1

ssh ×1

ubuntu ×1

xml ×1