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

Come aggiungere più righe usando Inserisci... SU AGGIORNAMENTO CHIAVE DUPLICATA usando knex

Ho scritto questo codice per inserire/aggiornare una singola riga come oggetto o più righe come matrice di oggetti:

function insertOrUpdate(knex: Knex, tableName: string, data: any) {
  const firstData = data[0] ? data[0] : data;
  return knex.raw(knex(tableName).insert(data).toQuery() + " ON DUPLICATE KEY UPDATE " +
    Object.getOwnPropertyNames(firstData).map((field) => `${field}=VALUES(${field})`).join(", "));
}