|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: May 2002
Città: udine
Messaggi: 546
|
[mysql] LOAD DATA INFILE
salve,
sto utilizzando mysql e sto importando dei file di testo prodotti da terze persone. Su questi file (di dati DOUBLE) i valori NULL sono indicati con NA; vorrei poter specificare nella query che in corrispondenza dei valori NA mi metta dei NULL e non degli zeri come ora accade. Come posso fare? grazie cipi
__________________
a chi non piace il vino... dio neghi anche l'acqua! ![]() DELL Latitude E4300, iPhone 6 |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: May 2002
Città: udine
Messaggi: 546
|
up
__________________
a chi non piace il vino... dio neghi anche l'acqua! ![]() DELL Latitude E4300, iPhone 6 |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2776
|
Non puoi modificare direttamente il file di testo?
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: May 2002
Città: udine
Messaggi: 546
|
purtroppo no... sono file di testo della grandezza media di 1,5 GB...
![]()
__________________
a chi non piace il vino... dio neghi anche l'acqua! ![]() DELL Latitude E4300, iPhone 6 |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Non puoi passare il file di testo da un programma che fa le sostituzioni prima dell'importazione ? Qualcosa tipo awk...
|
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: May 2002
Città: udine
Messaggi: 546
|
Quote:
grazie
__________________
a chi non piace il vino... dio neghi anche l'acqua! ![]() DELL Latitude E4300, iPhone 6 |
|
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Jul 2006
Città: Tristram
Messaggi: 517
|
Non puoi importare i dati e poi fare una semplice query di update del tipo
update tabella set campo = null where campo = 'NA' ?
__________________
Il sole è giallo |
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
In effetti potrebbe andare bene anche così....
|
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: May 2002
Città: udine
Messaggi: 546
|
il problema è che importando, dove vede 'NA' sql ci mette 0 (zero). Quindi poi non riesco a risalire a ciò che VERAMENTE è zero e distinguerlo da ciò che era 'NA'...
__________________
a chi non piace il vino... dio neghi anche l'acqua! ![]() DELL Latitude E4300, iPhone 6 |
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Eh già, se hai un NA su un numero sbaglia l'importazione...
|
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: May 2002
Città: udine
Messaggi: 546
|
scusate ma, cambiati i files, mi rimangono i problemi... dunque, con la seguente:
Codice:
sed 's/ NA/ /g' file1.txt > file2.txt Dimenticavo: la tabella è stata così creata: Codice:
CREATE TABLE `db`.`table` ( `ID` VARCHAR(45) NOT NULL, `a` BIGINT DEFAULT NULL, `b` BIGINT DEFAULT NULL, `c` DOUBLE DEFAULT NULL, PRIMARY KEY (`ID`) ) ENGINE = MyISAM; Codice:
LOAD DATA LOCAL INFILE 'path' INTO TABLE table fields terminated by '\t' IGNORE 1 LINES (`ID` , `a` , `b` , `c` ); ![]()
__________________
a chi non piace il vino... dio neghi anche l'acqua! ![]() DELL Latitude E4300, iPhone 6 |
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: May 2002
Città: udine
Messaggi: 546
|
up
![]()
__________________
a chi non piace il vino... dio neghi anche l'acqua! ![]() DELL Latitude E4300, iPhone 6 |
![]() |
![]() |
![]() |
#13 |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
domanda stupida:
Non è che il campo della tabella dove ti mette gli zeri ha come base un bel `not null` ?!?
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
![]() |
![]() |
![]() |
#14 | |
Senior Member
Iscritto dal: May 2002
Città: udine
Messaggi: 546
|
Quote:
![]()
__________________
a chi non piace il vino... dio neghi anche l'acqua! ![]() DELL Latitude E4300, iPhone 6 |
|
![]() |
![]() |
![]() |
#15 |
Senior Member
Iscritto dal: May 2002
Città: udine
Messaggi: 546
|
up!
![]()
__________________
a chi non piace il vino... dio neghi anche l'acqua! ![]() DELL Latitude E4300, iPhone 6 |
![]() |
![]() |
![]() |
#16 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Hai provato a scriverci NULL nel campo invece di lasciarlo vuoto ?
|
![]() |
![]() |
![]() |
#17 | |
Senior Member
Iscritto dal: May 2002
Città: udine
Messaggi: 546
|
Quote:
![]() ![]() ![]() emmmhhhh, no...! Ora provo! ![]()
__________________
a chi non piace il vino... dio neghi anche l'acqua! ![]() DELL Latitude E4300, iPhone 6 |
|
![]() |
![]() |
![]() |
#18 | |
Senior Member
Iscritto dal: May 2002
Città: udine
Messaggi: 546
|
Quote:
Codice:
Incorrect integer value: 'NULL' for column 'a' at row 1 ...
__________________
a chi non piace il vino... dio neghi anche l'acqua! ![]() DELL Latitude E4300, iPhone 6 |
|
![]() |
![]() |
![]() |
#19 |
Senior Member
Iscritto dal: May 2002
Città: udine
Messaggi: 546
|
risolto!
Ho risolto!
Basta mettere \N nei campi dove si vuole che compaia NULL. ciao e grazie a chi ha cercato di aiutarmi... ![]()
__________________
a chi non piace il vino... dio neghi anche l'acqua! ![]() DELL Latitude E4300, iPhone 6 |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:37.