Ho un file CSV abbastanza considerevole che può cambiare da mese a mese e ha circa 450 punti dati per riga. Devo anche manipolare i dati prima di inserirli in una tabella permanente. Quindi il mio piano è di importarlo in una tabella temporanea, manipolarlo e quindi inserire i dati.Importa CSV nella tabella temporanea in MySQL
Tuttavia, non riesco a trovare alcuna informazione su se/come importare un CSV in una tabella temporanea (o, in alternativa, qualche modo di importare un CSV dinamico - la prima riga ha intestazioni di colonna nel CSV).
Ho provato a creare una tabella temporanea, con una colonna, e quindi a importare il CSV ma non sembra importarlo. Questo è quello che ho provato finora:
DROP TEMPORARY TABLE IF EXISTS tmp_import;
CREATE TEMPORARY TABLE tmp_import (id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY);
LOAD DATA LOCAL INFILE '/import.csv' INTO TABLE tmp_import
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES;
Come esempio del CSV, è è nel formato (tutti i punti dati sono numeri):
500,400,101,93,005,22
4,954,23434,123423432,44
Beh, non è possibile creare una tabella senza colonne, quindi non c'era alternativa. Generalmente le tabelle temporali MySQL sono piuttosto dinamiche, cioè puoi eseguire una query e le colonne vengono aggiunte dinamicamente - ho pensato che si sarebbe potuto ottenere lo stesso durante l'importazione di un CSV. – Ashley
no devi creare la tabella e avere esattamente lo stesso numero di colonne che vuoi importare – davejal