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

    load data su più campi con substring...

    ciao a tutti.
    nell'inserimento di file di testo molto grandi in una tabella, utilizzo il seguente metodo:

    Codice PHP:
    LOAD DATA INFILE 'file_inventari/file/$nome_file' INTO TABLE `$nome_file_okFIELDS TERMINATED BY ';' LINES TERMINATED BY '\\r\\n' (`riga`) 
    e poi riempio dei campi indice con update...


    Codice PHP:
    Update `$nome_file_okset  numeropratica SUBSTRING(riga3829), annopratica SUBSTRING(riga3914), codicefiscale SUBSTRING(riga15716), numerofattura SUBSTRING(riga6716where id 
    quello che mi chiedo è: non potrei riempire i campi indice al volo nella prima query?



    buona giornata a tutti!

  2. #2

  3. #3
    No, LOAD DATA INFILE non funziona con campi a larghezza fissa. Nel manuale è pure citato come caso particolare:
    http://dev.mysql.com/doc/refman/5.1/en/load-data.html
    e cerca "Fixed-size rows".

    Un'alternativa molto più veloce è utilizzare una conversione a due stadi ma non come fai adesso.

    Fai un programma PHP che piglia il file di testo in entrata e genera un altro file di testo in uscita in un qualsiasi formato supportato da LOAD DATA INFILE (per esempio racchiudendo ogni valore in apici e separando i valori con le virgole).

    Esegui il LOAD DATA INFILE scaricando direttamente i dati nella tabella di destinazione. La velocità sarà parecchio (intendo parecchio) più elevata.

  4. #4
    grazie mille, seguo subito il tuo suggerimento

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.