2013-09-19 2 views
0

ive пытался найти кого-то с подобной проблемой, но без удачи, поэтому я открываю новые вопросы.mysql select в outfile текстовый файл, разделенный разрывами строк

У меня есть простой оператор select, который генерирует текстовый файл.

SELECT '1','2' 
UNION all 
SELECT Column1, Column2 
INTO OUTFILE '/path/file.txt' 
FIELDS TERMINATED BY '\t' 
LINES TERMINATED BY '\n\r' **<-- THE ISSUE** 
FROM db.table limit 0,100; 

Выход прекрасен, кроме одного. Он продолжает добавлять \ N к разрыву строки. Я не хочу, чтобы любой символ был разрывом строки. Я хочу, чтобы разрыв строки был фактическим разрывом строки.

Как теперь:

1 2 
Example Example\N 
Example Example\N 

Как я хочу, чтобы это было

1 2 
Example Example 
Example Example 

Ive пытался так много комбинаций, даже если я пропустить целые строки, заканчивающуюся «», он все еще добавляет \ N в выходной файл. Если я использую кнопку экспорта рабочей среды, она отлично работает, но это часть хранимой процедуры, так что это не решение для меня.

Ожидается BIN_NUM, HEX_NUM или TEXT_STRING.

Как я могу применить HEX_NUM к заявлению? Версия MySQL 5,6

Заранее спасибо

+0

Пила, которую я использовал, вместо TAB. Теперь исправлено, теперь вопрос правильный. –

+0

'\ n \ r' - довольно необычный способ закончить линию. Обычными являются '\ r',' \ n' и '\ r \ n'. – Oswald

+0

ive попробовал все из них, но я продолжаю получать значение \ N для разрыва строки, я просто хочу, чтобы фактический разрыв строки не был символом для него –

ответ

1

Оказывается «\ N» была заполнена в случае, когда поле было нулевым. Я просто добавил IFNULL (Column, '') в начальный выбор столбцов, и теперь моя проблема исчезла!