Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [MySQL] Query inserimento dati da file CSV

    Ciao a tutti.

    Sto cercando di eseguire una query di questo tipo:
    Codice PHP:
    <?
        
    include("../connessione.php");
        
    mysql_query("LOAD DATA LOCAL INFILE 'membri.csv' INTO TABLE membri FIELDS TERMINATED BY ',' LINES TERMINATED BY '\\r\\n';");
    ?>
    su questa tabella:
    codice:
    CREATE TABLE `database`.`membri` (
    `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    `username` VARCHAR( 30 ) NOT NULL ,
    `censito` BOOLEAN NOT NULL
    ) ENGINE = MYISAM ;
    dove il file csv ha il contenuto strutturato in questo modo:
    codice:
    pippo,
    paolo,
    giuseppe,
    luigi
    sapreste dirmi dov'è che sbaglio?

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Prova a specificare il campo in cui inserire i record

    codice:
    LOAD DATA LOCAL INFILE 'membri.csv' INTO TABLE membri FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n' (username);"

  3. #3
    Ciao, grazie per la risposta ma non funziona neanche così...

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Puoi postare il risultato di

    select @@sql_mode;

    ?

    I problemi sono dovuti al campo censito impostato a not null.

    Prova così allora:

    codice:
    LOAD DATA LOCAL INFILE 'membri.csv' 
    INTO TABLE membri 
    FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n' 
    (username,@censito) 
    set censito=0;
    Attenzione pure al percorso del csv.

  5. #5
    select @@sql_mode non mi ha restituito niente:

    Visualizzazione record 0 - 0 (1 Totali, La query ha impiegato 0.0005 sec)

    cosa dovrebbe fare?

    Comunque ho rifatto la tabella:
    codice:
    CREATE TABLE `database`.`membri` ( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , `username` VARCHAR( 30 ) NOT NULL , `censito` BOOLEAN NULL DEFAULT '0' ) ENGINE = MYISAM ;
    ma non sono ancora riuscito a venirne a capo...

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Se non ci dici l'errore non ne usciamo

    mysql_query(..... ) or die(mysql_error());

  7. #7
    Scusa non mi ricordavo come si faceva a far mostrare l'errore... comunque ho risolto anche se in modo del tutto diverso... in pratica ho convertito il file in .xls e ho usato la funzione di importazione di phpmyadmin.

    Grazie comunque per l'aiuto

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.