Mysql
 sql >> база данни >  >> RDS >> Mysql

Групово вмъкване с mysql2 и NodeJs хвърля 500

Това е известен проблем с execute и query метод в mysql2

Намерих работеща алтернатива.

createWorklog = async ({ sqlArray }) => {
        const sql = `INSERT INTO ${this.tableName}
        (project_id, user_id, date, duration, task, description) VALUES ?`

        const result = await query(sql, [sqlArray], true) // adding true for multiple insert
        const affectedRows = result ? result.affectedRows : 0;

        return affectedRows;
}

След това заявката може да бъде написана както по-долу

    return new Promise((resolve, reject) => {
      const callback = ...

      if (multiple) this.db.query(sql, values, callback);
            else this.db.execute(sql, values, callback);

    }).catch(err => {
      ...
...
    });
  }
}

Повече информация относно този проблем можете да намерите тук https://github.com/sidorares/ node-mysql2/issues/830




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Създаване на инструкция INSERT ... SELECT атомарна

  2. Как да конвертирате дата в .csv файл в SQL формат преди масово вмъкване

  3. MYSQL Как да съпоставим две думи в изречение

  4. Извличане на времето от MySQL като HH:MM формат

  5. Защо LEFT JOIN на MySQL връща NULL записи, когато е с клауза WHERE?