【问题标题】:MySQL INTO OUTFILE Query problemsMySQL INTO OUTFILE 查询问题
【发布时间】:2014-05-15 13:03:22
【问题描述】:

我编写了这个简单的查询,它将把表中的所有数据提取到一个 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'

现在,第一部分效果很好,但第二部分有问题。 它不是从列列表中指定的列中提取数据,而是一遍又一遍地向我显示所有列名。

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

谢谢。

【问题讨论】:

    标签: mysql concat


    【解决方案1】:

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

    更新:

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

    【讨论】:

    • 那我该如何动态指定列名呢?我需要从大约 80 个表中提取信息到 CSV 文件中,我只想找到一种在第二次选择中动态指定列名的方法。
    猜你喜欢
    • 1970-01-01
    • 2017-02-15
    • 1970-01-01
    • 2011-02-21
    • 2018-08-01
    • 2012-02-26
    • 1970-01-01
    • 2010-11-05
    • 2010-10-31
    相关资源
    最近更新 更多