2012-01-04 3 views

ответ

4

Попробуйте заменить ',' на '.' при загрузке.

Например -

LOAD DATA INFILE 'file.csv' INTO TABLE dados_meteo 
(@var1, @var2) 
SET column1 = REPLACE(@var1, ',', '.'), column2 = REPLACE(@var2, ',', '.') 
1

Если $ поле [0] является вашей цифровой:

LOAD DATA INFILE '$filename' INTO TABLE dados_meteo IGNORE 3 LINES 
(@var1, $fields[1], $fields[2], $fields[3], $fields[4], $fields[5]) 
SET POM='$pom', $field[0] = CONVERT(REPLACE(@var1,',', ''), DECIMAL(10)); 

Если больше числовые, просто повторите рисунок с @ var2, @ var3 и т.д. Вы хотите, чтобы заменить DECIMAL (10) с любым вашим полем.

+0

Спасибо вам @ Андрей Я пытаюсь опубликовать окончательный код - дает мне ошибку синтаксиса – Hugo

+0

'LOAD DATA INFILE '$ имя_файла' INTO TABLE dados_meteo IGNORE 3 ЛИНИИ (@ var1, @ var2, @ var3, @ var4, @ var5, @ var6) SET POM = '$ pom', $ field [0] = CONVERT (REPLACE (@ var1, ',', ''), DECIMAL (10)), $ field [1] = CONVERT (REPLACE (@ var2, ',', ''), DECIMAL (10)), $ field [2] = CONVERT (REPLACE (@ var3, ',', '), DECIMAL (10)), $ field [3] = CONVERT (REPLACE (@ var4,', ',' '), DECIMAL (10)), $ field [4] = CONVERT (REPLACE (@ var5, ',', ''), DECIMAL (10)), $ field [5] = CONVERT (REPLACE (@ var6, ',', ''), DECIMAL (10)) ; ' – Hugo

+0

Вы используете это через PHP? Какую ошибку вы получаете, где именно? – Andrew

Смежные вопросы