Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Aktualisieren Sie die MySQL-Tabelle aus einer lokalen Datei

Ich schlage vor, Sie laden Ihre Daten in eine temporäre Tabelle und verwenden dann ein INSERT ... SELECT ... ON DUPLICATE KEY UPDATE; zum Beispiel:

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;