@Kapatblxa0

Как перенести данные из текстового файла в базу mysql?

Есть текстовый файл в который пишется лог. Вот кусок лога:
2014-04-24 20:41:17 -%- datacard1 -%- 4660 -%- настройки Інтернет та MMS. Збережіть їх у телефоні та активуйте.
2014-05-02 11:00:41 -%- datacard1 -%- 777 -%- текст сообщения
Задача - создать 5 колонок, в которые будет заноситься информация и писаться в базу mysql.
Все вроде настроено, но информация пишется некорректно.
Алгоритм по тому как я создаю базу в консоли ubuntu и где скорее всего имеется ошибка:
mysql -u root -p —local-infile smsinn
CREATE DATABASE `smsinn` CHARACTER SET utf8 COLLATE utf8_general_ci;
use smsinn;
CREATE TABLE LOG (LOGDATE DATE,LOGTIME TIME,DATACARD VARCHAR(50),NUMBER VARCHAR(50),COMMENT TEXT);
 LOAD DATA LOCAL INFILE '/var/log/asterisk/sms.txt' INTO TABLE LOG FIELDS TERMINATED BY '-%-' LINES TERMINATED BY '\n' (@logdate,@unused,@datacard,@number,@comment) SET LOGDATE=DATE(@logdate),LOGTIME=TIME(@logdate),DATACARD=@datacard,NUMBER=@number,COMMENT=@comment;
(после этой команды выскакивает 5 предупреждений)
SELECT * FROM LOG;

В итоге получается кривая база.
  • Вопрос задан
  • 2677 просмотров
Решения вопроса 1
mgyk
@mgyk
У вас разделители неправильно стоят в фаиле.
Или поменяйте структуру базы
LOGDATE DATE,LOGTIME TIME
LOGTIME DATETIME

Или измените фаил
2014-04-24 20:41:17
2014-04-24 -%- 20:41:17
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы