Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wstaw tablicę rekordów do mysql za pomocą Node JS

Możesz zbiorczo wstawić tablicę rekordów, ale wcześniej może być konieczne przekonwertowanie jej na tablicę tablic

Używam array reduction, aby uzyskać tablicę podobną do tej

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

To wygeneruje

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

Teraz wstawiam do bazy danych mysql

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

więc format wielokrotnego wstawiania danych powinien wyglądać następująco:[[[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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mysql - sekwencja wielu indeksów kolumn

  2. Co robi DELIMITER // w wyzwalaczu?

  3. Indeksy wielojęzyczne z Laravel Scout i Algolia

  4. Jak mogę uzyskać encję z odniesienia Doctrine Fixture?

  5. Tworzenie bazy danych mysql rozwijane menu przy użyciu danych już wprowadzonych w html/php