我试图使用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/