我试图使用node.js和mysql模块,从一个表中选择数据,操纵该数据,然后将操纵数据插入数据库中的另一个表。

var mysql = require('mysql');

var connection = mysql.createConnection({
host: 'localhost',
user: 'username',
password: 'pass',
database: 'db',
});

var q = 'SELECT * FROM table1';
var data_wanted = [];

connection.query(q, function(err, result) {

    for(var i = 0; i < 100; i++) {     //let's say there are 100 rows in table1
        var manipulated_data = result + 1;
        data_wanted.push(manipulated_data);
    }

});


理想情况下,我将采用data_wanted中的值并将其批量插入。就像是:

var q2 = 'INSERT into table2 (number) VALUES ?';

connection.query(q2, [data_wanted], function(err, result) {
    //bulk inserts data_wanted[]
});


但是,data_wanted不会从第一个查询中获取数据。

console.log(data_wanted) //outputs []; still empty, even after 1st query


我认为这是一个范围问题。但是我不知道如何真正解决这个问题。我将不胜感激。

最佳答案

应该是这个

var q2 = 'INSERT into table2 (number) VALUES (?)';


我认为这只是您所缺少的括号。

您正在使用语句,因此您当然必须添加更多代码。

希望我能帮上忙。

关于javascript - 如何使用通过SELECT查询获得的数据插入mysql数据库?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53314375/

10-09 17:55
查看更多