Я экспортирую отчет базы данных с файлом оболочки. Если я запустил запрос в PHPMyAdmin, файл получится прекрасным, новые строки в конце каждой строки только в базе данных.Проблема с MySQL INTO OUTFILE с новыми строками в контенте
Однако, когда я запускаю запрос в своем сценарии оболочки, используя outfile для генерации файла, я получаю/n,/r и/r/n в некотором содержимом столбцов. Я не могу понять, что вызывает это и как его избежать.
Проблема только кажется вызванной в столбце цвета, который является третьим в примере экспорта.
Запрос:
mysql $MYSQLOPTS << EOFMYSQL
SELECT Product_Name, Item_Size, Item_Colour, Item_Price, Current_Stock, Item_Price * Current_Stock AS Stock_Value
FROM Items
ORDER BY Product_Name
INTO OUTFILE '$FILE'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
EOFMYSQL
Пример результата:
"Scarf_in_Peach","ONE SIZE","12/04-B2B2 ",10.00,3,30.00
"Scarf_in_Pink","ONE SIZE ","11/06-odds-C1C12100",10.00,0,0.00
"Scarf_in_Red","ONE SIZE ","11/06-B7B2-C1C12100",10.00,0,0.00
"Scarf_in_Sand_","ONE SIZE","11/06-B1I3-C1C12100
",10.00,0,0.00
"Scarf_in_Sand_/_Blue_Flowers","ONE SIZE","12/04-B2E2-C1C12100 ",10.00,4,40.00
"Scarf_in_Teal","ONE SIZE","11/06-B5G1-C1C12100
",10.00,0,0.00
"Scarf_in_Teal_/_Red_Flowers","ONE SIZE","12/04 - B2B2 ",10.00,1,10.00
"Sunrise_Skinnies","16","ODD-R1S009-1-BLUE",20.00,0,0.00
"Sunrise_Skinnies","8","ODD-R1S009-1
BLUE",20.00,0,0.00
Вы проверили свои данные, чтобы увидеть, действительно ли у вас есть пробелы (т. Е. \ N) в вашем поле? Я спрашиваю, потому что в конце я вижу пробелы некоторых записей, возможно, у вас также есть '\ n' – davejal
. В базе данных некоторые из них имеют разрывы строк, однако, когда я экспортирую в CSV из PHPmyAdmin, я этого не делаю. Даже когда я не выбираю «Удалить символы возврата каретки/строки в столбцах», они прекрасны. –
В вашем запросе вы можете заменить символы возврата каретки и строки на пустую строку. – Shadow