LINUX.ORG.RU

Экспорт данных из запроса MYSQL в файл. Лишние символы

 ,


0

1

Всем привет! Решаю задачу по автоматической выгрузке данных из запроса в csv файл. Запрос сделал, все ок... Кроме лишних символов. Сам запрос:

SELECT IFNULL(`realname_ru`, account.name ), user.name, account.name,`email`,REPLACE(REPLACE(phone, "(", ""), ")", ""),`note` FROM `user`,`account` WHERE user.account=account.id AND
`phone`!=0 INTO OUTFILE '/home/COV/csv/book.csv' character set cp1251 FIELDS TERMINATED BY ';' LINES STARTING BY '' TERMINATED BY '\r\n';
Нормальная выгрузка из phpmyadmin (в кодировке 1251, NULL заменяем на «Отсутвует») http://joxi.ru/Dr8550zi4Db4Em Выгрузка курильщика(т.е. что получается по моему запросу): http://joxi.ru/823PP1GiJwB9QA В итоге есть следующие проблемы:

  • Пропущенные строки после каждой строки
  • Если в последнем столбце строки есть слова с переносом - они формируются в первом столбце строки ниже
  • Там где нет данных ставится \N
  • В последнем столбце строки появляется \

Прошу подсказать :) Спасибо!



Последнее исправление: zukc (всего исправлений: 2)

Решил проблему примерно так:

SELECT IFNULL(`realname_ru`, account.name ), user.name, account.name,`email`,REPLACE(REPLACE(phone, "(", ""), ")", ""),IFNULL(REPLACE(note, "\r\n", " "), '' ) FROM `user`,`account` WHERE user.account=account.id AND
`phone`!=0 INTO OUTFILE '/home/COV/csv/book.csv' character set cp1251
FIELDS TERMINATED BY ';' ENCLOSED BY '' ESCAPED BY '\\' LINES STARTING BY '' TERMINATED BY '\n';
Как организовать перенос внутри ячейки не понял, по этому просто поменял «\r\n» на " "(отступ)

zukc
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.