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

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Ответить
Sturgeon
Сообщения: 36
Зарегистрирован: Вт ноя 17, 2015 5:52 pm
Благодарил (а): 14 раз
Поблагодарили: 7 раз

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

Сообщение Sturgeon » Сб окт 29, 2016 10:34 pm

Приветствую участников форума! Прошу помочь разобраться с вопросом импорта данных в 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. Данные все равно не добавляются. Пробовал сокращать первое число до трех цифр, просто чтобы понять в размере дело или нет. Все равно в первом столбце получаются только ноли. С чем это может быть связано?
Вложения
Data.jpg
Data.jpg (234.28 КБ) 2244 просмотра
Table.jpg
Table.jpg (65.04 КБ) 2244 просмотра
Problem.jpg
Описание проблемы
Problem.jpg (126.45 КБ) 2244 просмотра
Sturgeon
Сообщения: 36
Зарегистрирован: Вт ноя 17, 2015 5:52 pm
Благодарил (а): 14 раз
Поблагодарили: 7 раз

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

Сообщение Sturgeon » Вс окт 30, 2016 2:20 pm

Вроде разобрался. Проблема была во всяких непечатаемых символах, типа \n. Которые были в текстовом файле после точки с запятой, и коварным образом прицеплялись к числовым данным.
Ответить