MySQL OutFile使用来自表的数据

时间:2016-09-14 13:09:47

标签: mysql

我正在尝试生成每月运行的导出,该导出会将表中其中一列的值附加到OutFile名称,这是否可能?

该表是mytable,列是col1,分钟包含“201601”

我希望我的OutFile显示“/ tmp / Output_201601”,下次运行的201601将自动更改为201602等

1 个答案:

答案 0 :(得分:1)

您可以尝试使用存储过程执行此操作。 例如。当您调用此过程时 - 它会将表 mytable 中的数据导出到名称为 D:/ tmp /输出_ 的文件+来自字段Col1的最高值。

CREATE PROCEDURE `PrepareReport`()
BEGIN
 SET @OutputFileName := 'D://tmp//Output_';

 SELECT Col1 INTO @ReportNr FROM mytable ORDER BY Col1 DESC LIMIT 1;

 SET @q1 := concat("SELECT * FROM mytable INTO OUTFILE '", @OutputFileName, @ReportNr, ".csv'");
 PREPARE s1 FROM @q1;
 EXECUTE s1;
 DEALLOCATE PREPARE s1;
END