Как получить все строки из таблицы, используя MySQL OUTFILE - PullRequest
2 голосов
/ 18 апреля 2011

Я использую MySQL для вывода содержимого таблицы базы данных в файл CSV, используя следующий синтаксис:

SELECT 'Keyword_1_Frequency', 'Keyword_2_Frequency', 'Keyword_3_Frequency', 
'Keyword_4_Frequency', 'Keyword_5_Frequency', 'Keyword_6_Frequency', 
'Keyword_7_Frequency', 'Keyword_8_Frequency', 'Keyword_9_Frequency', 
'Keyword_10_Frequency', 'Keyword_11_Frequency', 'Keyword_12_Frequency','RSSFeedCategoryDescription'  
UNION (SELECT Keyword_1_Frequency, Keyword_2_Frequency, Keyword_3_Frequency, 
Keyword_4_Frequency, Keyword_5_Frequency, Keyword_6_Frequency, Keyword_7_Frequency, 
Keyword_8_Frequency, Keyword_9_Frequency, Keyword_10_Frequency, Keyword_11_Frequency, 
Keyword_12_Frequency, RSSFeedCategoryDescription   
FROM dm_16_945848_18042011_1303128210855  
INTO OUTFILE 'C:/temp/dm_16_945848_18042011_1303128210855.csv'  
FIELDS TERMINATED BY ','  
LINES TERMINATED BY '\n');

Первое предложение SELECT - просто получить заголовки столбцов в качестве первой строки файла CSV.

Этот запрос, кажется, работает, но по какой-то сводящей с ума причине он не извлекает все строки из таблицы. Например, если у меня есть 12 строк в таблице, он получает 10.

Кто-нибудь может объяснить, почему? Я ничего не вижу на страницах поддержки MySQL для этого.

Спасибо

Мистер Морган.

1 Ответ

2 голосов
/ 18 апреля 2011

Возможно, у вас есть дубликаты в таблице, а UNION устраняет их.

Попробуйте заменить UNION на UNION ALL.

...