Du kan masseindsætte rækken af poster, men før det skal du muligvis konvertere den til række af arrays
Jeg bruger array reduce for at få et array noget som dette
let j=[ {Navn:'', Id:1}, {Navn:'', Id:2}, {Navn:'', Id:3}, {Navn:'', Id :4}, {Navn:'', Id:5}, {Navn:'', Id:6} ]; lad værdier=j.reduce((o,a)=>{ lad ini=[]; ini.push(a.Name); ini.push(a.Id); o.push(ini); return o }, []) console.log(værdier);
Dette vil udsende
[["",1],["",2],["",3],["",4],["",5],["",6]]
Indsætter nu i mysql-databasen
const con=require('./mysql.js'); //mysql connectionin mysql.js var sql ="INDSÆT I kunder (navn, id) VÆRDIER ?";con.query(sql, [værdier], funktion (fejl, resultat) { //pass values array (fra oven) direkte here if (err) throw err; console.log("Antal poster indsat:" + result.affectedRows); });});
så formatet for indsættelse af flere data skal være som [[[a,b],[b,c],[d,k]]]
var Promise =require("bluebird");//for beloftesconst beloftecon=Promise.promisifyAll(require('./mysql.js'));// var sql ="INSERT INTO kunder (navn, id) VÆRDIER ?"; beloftecon.queryAsync(sql,[værdier]).then((result)=>{//bluebird identificerer med Async console.log(result); }).catch(function(err){ console.log(err); } )
var sql ="INDSÆT I kunder (navn, id) VÆRDIER ?";async function build() { try { const result =await con.queryAsync(sql,[values]); console.log(resultat); } catch (fejl) { // gør noget } } build();