sql >> Database >  >> RDS >> Mysql

Update MySQL-tabel vanuit een lokaal bestand

Ik raad u aan uw gegevens in een tijdelijke tabel te laden en vervolgens een INSERT ... SELECT ... ON DUPLICATE KEY UPDATE te gebruiken; bijvoorbeeld:

CREATE TEMPORARY TABLE temptable (
  id  INT UNSIGNED NOT NULL,
  val INT,
  PRIMARY KEY (id)
) ENGINE = MEMORY;

LOAD DATA LOCAL INFILE '/path/to/file.txt' INTO temptable FIELDS TERMINATED BY ',';

INSERT INTO my_table
SELECT id, val FROM temptable
ON DUPLICATE KEY UPDATE val = VALUES(val);

DROP TEMPORARY TABLE temptable;


  1. Het transactielogboek voor de database is vol

  2. Alles wat u moet weten over SQL CTE op één plek

  3. Microseconden aftrekken van een Datetime-waarde in MariaDB

  4. De type-initialisatie voor 'System.Data.Entity.Migrations.DbMigrationsConfiguration`1' veroorzaakte een uitzondering