Poniższe kroki można wykorzystać do emulacji tej funkcji:
-
Utwórz nową tabelę tymczasową.
CREATE TEMPORARY TABLE temporary_table LIKE target_table; -
Opcjonalnie usuń wszystkie indeksy z tabeli tymczasowej, aby przyspieszyć działanie.
SHOW INDEX FROM temporary_table; DROP INDEX `PRIMARY` ON temporary_table; DROP INDEX `some_other_index` ON temporary_table; -
Załaduj plik CSV do tabeli tymczasowej
LOAD DATA INFILE 'your_file.csv' INTO TABLE temporary_table FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' (field1, field2); -
Skopiuj dane za pomocą AKTUALIZACJI ZDUPLIKOWANEGO KLUCZY
SHOW COLUMNS FROM target_table; INSERT INTO target_table SELECT * FROM temporary_table ON DUPLICATE KEY UPDATE field1 = VALUES(field1), field2 = VALUES(field2); -
Usuń tabelę tymczasową
DROP TEMPORARY TABLE temporary_table;
Używanie SHOW INDEX FROM i SHOW COLUMNS FROM proces ten można zautomatyzować dla dowolnej tabeli.