sql >> Databáze >  >> RDS >> Mysql

MySQL NAČTE DATOVÝ VSTUPNÍ SOUBOR pomocí ON DUPLICATE KEY UPDATE

Tyto kroky lze použít k emulaci této funkce:

  1. Vytvořte novou dočasnou tabulku.

    CREATE TEMPORARY TABLE temporary_table LIKE target_table;
    
  2. Volitelně můžete odstranit všechny indexy z dočasné tabulky, abyste věci urychlili.

    SHOW INDEX FROM temporary_table;
    DROP INDEX `PRIMARY` ON temporary_table;
    DROP INDEX `some_other_index` ON temporary_table;
    
  3. Načtěte CSV do dočasné tabulky

    LOAD DATA INFILE 'your_file.csv'
    INTO TABLE temporary_table
    FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
    (field1, field2);
    
  4. Zkopírujte data pomocí ON DUPLICATE KEY UPDATE

    SHOW COLUMNS FROM target_table;
    INSERT INTO target_table
    SELECT * FROM temporary_table
    ON DUPLICATE KEY UPDATE field1 = VALUES(field1), field2 = VALUES(field2);
    
  5. Odebrat dočasnou tabulku

    DROP TEMPORARY TABLE temporary_table;
    

Pomocí SHOW INDEX FROM a SHOW COLUMNS FROM tento proces lze automatizovat pro libovolnou tabulku.



  1. Jak mohu použít jeden fond připojení mssql napříč několika trasami ve webové aplikaci Express 4?

  2. Vysvětlení operátora Oracle INTERSECT

  3. Jak převést řetězec na velká písmena v SQL

  4. Jak vygenerovat plán provádění na serveru SQL Server