Страница 1 из 1

Добавить данные в MySQL. Проблемы с LOAD INFILE.

Добавлено: Сб окт 29, 2016 10:34 pm
Sturgeon
Приветствую участников форума! Прошу помочь разобраться с вопросом импорта данных в MySQL. Имеется некий девайс, который меряет температуру, влажность и давление и записывает ее во внутреннюю память. Доступ к этим данным осуществляется через локальную сеть. Время от времени они копируются на сервер (в папку htdoc) в виде текстового файла. В приложении картинка (Data.jpg) с содержимым файла. Данные представляют собой набор строк вида 1477691160000,24.30,27.60,755.00; что обозначает: время юникстайм, температура, влажность, давление. Далее эти данные хочется добавить в базу данных Мажордомо, чтобы выводить разные графики. Для этого в БД создана таблица (рисунок Table.jpg в приложении). Импорт из текстового файла в БД происходит с помощью LOAD DATA INFILE

Код: Выделить всё

<?php
LOAD DATA LOCAL INFILE 'weather_data.txt' INTO TABLE weather
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY ';'
(Date,Temp,Humidity,Pressure);
?>
А вот результат самый неожиданный. На третьем рисунке видно, что значения температуры, давления и влажности добавляются замечательно, а первое число не добавляется. Я не понимаю как это вообще может быть и что происходит. Я пробовал менять тип данных на INT, Timestamp. Данные все равно не добавляются. Пробовал сокращать первое число до трех цифр, просто чтобы понять в размере дело или нет. Все равно в первом столбце получаются только ноли. С чем это может быть связано?

Re: Добавить данные в MySQL. Проблемы с LOAD INFILE.

Добавлено: Вс окт 30, 2016 2:20 pm
Sturgeon
Вроде разобрался. Проблема была во всяких непечатаемых символах, типа \n. Которые были в текстовом файле после точки с запятой, и коварным образом прицеплялись к числовым данным.