sql >> Databasteknik >  >> RDS >> Mysql

Infoga array av poster i mysql med Node JS

Du kan bulka infoga arrayen av poster, men innan dess kan du behöva konvertera den till array av arrays

Jag använder array reduce för att få en array ungefär så här

let j=[
               {Name: '', Id: 1},
               {Name: '', Id: 2},
               {Name: '', Id: 3},
               {Name: '', Id: 4},
               {Name: '', Id: 5},
               {Name: '', Id: 6}
              ];

              let values=j.reduce((o,a)=>{
                    let ini=[];
                    ini.push(a.Name);
                    ini.push(a.Id);
                    o.push(ini);
                    return o
              },[])
              console.log(values);

Detta kommer att mata ut

[["",1],["",2],["",3],["",4],["",5],["",6]]

Infogar nu i mysql-databasen

const con=require('./mysql.js'); //mysql connectionin mysql.js 

var sql = "INSERT INTO customers (name, id) VALUES ?";
con.query(sql, [values], function (err, result) { //pass values array (from above)  directly here
    if (err) throw err;
    console.log("Number of records inserted: " + result.affectedRows);
  });
});

så formatet för infogning av flera data bör vara som [[[a,b],[b,c],[d,k]]]

var Promise = require("bluebird");//for promises
const promisecon=Promise.promisifyAll(require('./mysql.js'));//
  var sql = "INSERT INTO customers (name, id) VALUES ?";
    promisecon.queryAsync(sql,[values]).then((result)=>{//bluebird identifies with Async
      console.log(result);
    }).catch(function(err){
        console.log(err);
      })
 var sql = "INSERT INTO customers (name, id) VALUES ?";
async function build() {
            try {
              const result =await con.queryAsync(sql,[values]);

                 console.log(result);

            } catch (err) {
              // do something
            }
          }
          build();



  1. Slutför AJAX-samtal innan PayPal-knappen omdirigerar

  2. Dubblett unicode-inmatningsfel i den unika kolumnen - mysql

  3. MySql Triggers för att radera underordnade poster i samma tabell

  4. PROBLEM:Mysql konverterar Enum till Int