我正在尝试让 Node -mysql 连接查询与原始查询的结果串联工作。全部设置完成后,这就是有问题的部分。看来连接已经结束了。如何确保 processRow 中的查询与原始结果同时执行?
function processRow(row, callback){
connection.query('INSERT INTO other_table VALUES (?)', row.id, function(err, rows, fields) {
if (err) throw err;
});
callback();
}
var query = connection.query('SELECT id from tbl limit 2');
query
.on('error', function(err){
throw err;
})
.on('fields', function(fields){
})
.on('result', function(row){
processRow(row, function(){
connection.resume();
});
})
.on('end', function(){
//
});
connection.end();
最佳答案
function processRow(row, callback){
connection.query('INSERT INTO other_table VALUES (?)', row.id, function(err, rows, fields) {
if (err) throw err;
callback();//callback should go here
});
}
然后你可以结束连接:
query.on('result', function(row){
processRow(row, function(){
connection.end(); //maybe end the connection once insertion into the table is done
});
})
关于mysql - 使用node-mysql从每个结果执行附加查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24054323/