Экспорт данных без новых строк не работает - PullRequest
1 голос
/ 05 декабря 2011

Мне нужно экспортировать данные из таблицы MySQL в файл CSV.В частности, две области доставляют мне неприятности.Их типы данных: varchar и TEXT.

Данные в этих столбцах содержат всевозможные символы брутто, особенно новую строку (\ n) и символы табуляции (\ t).Мне нужно экспортировать их в файл .csv для миграции.

К сожалению, я не могу заключить поля в "" ", потому что база данных назначения не поддерживает это форматирование.

Итак,мой запрос выглядит следующим образом:

SELECT `varchar_col`,`text_col` FROM `db`.`tbl`   INTO OUTFILE '/path/to/my/file.csv' FIELDS TERMINATED BY '\t' ESCAPED BY "\\" LINES TERMINATED BY '\n';

Когда я смотрю на свой выходной файл (используется gedit и nano), я просто вижу, что каждой новой строке или вкладке в файле предшествует обратная косая черта (см. примерниже). Мне бы хотелось, чтобы вместо новой строки и табуляции вместо новой строки или табуляции вместо новой строки или вкладки читалась новая строка или табуляция.

Пример проблемы с новой строкой -

значение поля:

value one
value two

, экспортированное в .csv, дает мне:

value one\
value two\

вместо:

value 1\nvalue 2

Может кто-нибудь сказать мне, что яделаешь неправильно?

Спасибо

1 Ответ

0 голосов
/ 05 декабря 2011

Я не совсем уверен.Но это то, что вы хотите?(Выведите буквенные разделы '\ n' или '\ t' вместо новых строк и вкладок.)

SELECT * FROM block INTO OUTFILE '/var/tmp/d.csv' FIELDS TERMINATED BY '\\t' ESCAPED BY "\\" LINES TERMINATED BY '\\n';
...