0
我試圖生成一個每月運行一次的輸出,它將一個表內某列的值附加到OutFile名稱,這甚至有可能嗎?MySQL OutFile使用表中的數據
表是MYTABLE和列COL1包含「201601」在一分鐘
我想我OutFile將顯示「/ tmp目錄/ Output_201601」,其中上一次運行的201601都將自動更改爲201602 etc
我試圖生成一個每月運行一次的輸出,它將一個表內某列的值附加到OutFile名稱,這甚至有可能嗎?MySQL OutFile使用表中的數據
表是MYTABLE和列COL1包含「201601」在一分鐘
我想我OutFile將顯示「/ tmp目錄/ Output_201601」,其中上一次運行的201601都將自動更改爲201602 etc
你可以試着用存儲過程來做到這一點。例如,當您調用此過程時,它會將表mytable中的數據導出爲名稱爲的文件D:/ tmp/Output_ +來自字段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
非常感謝,這工作非常好 –