MySQL INTO OUTFILE查询问题

时间:2014-05-15 13:03:22

标签: mysql concat

我编写了这个简单的查询,它会将表中的所有数据提取到CSV文件中。

SELECT Group_concat(Concat(column_name)) 
FROM   information_schema.columns 
WHERE  table_name = 'subject_assignment' 
       AND table_schema = 'newschema2' 
UNION ALL 
SELECT (SELECT Group_concat('`', column_name, '`') 
        FROM   information_schema.columns 
        WHERE  table_name = 'subject_assignment' 
               AND table_schema = 'newschema2') 
FROM   subject_assignment 
INTO OUTFILE 'D:\\export\\asd.csv'

现在,第一位工作得很好,但我对第二部分有疑问。 它不是从列列表中指定的列中提取数据,而是一遍又一遍地显示所有列名称。

你能否建议我做错了什么?

感谢。

1 个答案:

答案 0 :(得分:0)

在第二个SELECT中,您不会从subject_assignment中选择任何列。相反,您要选择由连接列名称组成的单个字符串值。而且您选择它的次数与subject_assignment的行数一样多。

<强>更新

如果您想动态创建列名,然后从中选择数据,请参阅:https://stackoverflow.com/a/17573774/925196

相关问题