我正在尝试生成每月运行的导出,该导出会将表中其中一列的值附加到OutFile名称,这是否可能?
该表是mytable,列是col1,分钟包含“201601”
我希望我的OutFile显示“/ tmp / Output_201601”,下次运行的201601将自动更改为201602等
答案 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