无法使用Node.js批量插入到mysql

无法使用Node.js批量插入到mysql

问题描述:

我正在使用Node.js编写服务器应用程序,使用mysql library时出现问题。无法使用Node.js批量插入到mysql

当我尝试向我的数据库中进行批量插入时出现此问题,这是我正在使用的示例代码。

const sql = require("mysql") 

//Connection settings 
const sqlConfig = require("../settings"); 

function executeSql(queryData, callback){ 
    let connection = sql.createConnection(sqlConfig.dbConfig); 
    connection.connect(function(err){ 
     if(err){ 
      console.error('connection error: ' + err.stack); 
      callback(null, err); 
      return; 
     } 

     connection.query(queryData, function(error, results, fields){    
      if(error){ 
       console.error('error: '+error.stack); 
       callback(null, error); 
       return; 
      } 
      callback(results, null); 
     }); 
    }); 
}; 

let sqlquery = "INSERT INTO table(val1, val2) VALUES (?)"; 

let val1 = [1,2,3,4]; 
let val2 = 1; 

let values = []; 

for(let i = 0; i<val1.length, i++) 
    values.push([val1[i], val2]); 

let queryData = { 
    sql: sqlquery, 
    values: values 
} 

executeSql(queryData, function(data, err) { 
    if (err) { 
     console.error(err); 
    } else { 
     console.log("success"); 
    } 
}); 

的问题是,该程序打印出“成功”,但在我的数据库只有一个数据,而不是4行,我不知道什么是错。

好的问题是,它需要一个数组数组的数组和查询是坏的。

这是正确的查询

let sqlquery = "INSERT INTO table(val1, val2) VALUES ?"; 

和创建queryData对象时:

let queryData = { 
    sql: sqlquery, 
    values: [values] 
}