sql >> Database teknologi >  >> RDS >> Mysql

Indsæt række af poster i mysql med Node JS

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(); 



  1. Er dette en sikker måde at konvertere MySQL-tabeller fra latin1 til utf-8?

  2. PostgreSQL:en gyldig variabel tildelingsprøve?

  3. Hvordan oprettes MySQL-forespørgsel for at finde relaterede indlæg fra flere tabeller?

  4. Sådan deaktiveres en CHECK-begrænsning i SQL Server (T-SQL-eksempler)