Mysql 将当前时间添加到输出文件';C:/Output/data.csv';

Mysql 将当前时间添加到输出文件';C:/Output/data.csv';,mysql,windows,timestamp,Mysql,Windows,Timestamp,我正在寻找一种方法,在每次新导出后将当前时间添加到我的文件名中 当前代码: SELECT * INTO OUTFILE 'C:/Output/data_.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\r\n' FROM eloge_collector; 我想要达到的目标: SELECT * INTO OUTFILE 'C:/Output/data_2018-05-10-15-14.

我正在寻找一种方法,在每次新导出后将当前时间添加到我的文件名中

当前代码:

SELECT * INTO OUTFILE 'C:/Output/data_.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\r\n' FROM eloge_collector;
我想要达到的目标:

SELECT * INTO OUTFILE 'C:/Output/data_2018-05-10-15-14.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\r\n' FROM collector;

或者类似的东西。

您可以使用准备好的语句创建查询字符串,然后执行它

这是我的解决方案

首先创建用于保存查询字符串的变量

使用concat函数将当前日期时间注入查询字符串

使用DATE_格式和now函数获取当前日期时间

set @sql = concat("SELECT * INTO OUTFILE 'C:/filePrefix_",DATE_FORMAT(NOW(), '%Y%m%d%H%i%s'),".fileExtension' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\r\n' FROM `table`");
prepare s1 from @sql; --create statment from variable 
execute s1; -- execute prepared statements

您使用什么代码来执行该语句?例如,如果您使用的是PHP,您可以在执行语句之前在PHP代码中创建文件名。另一个选项是使用。我正在使用命令行运行它,希望稍后安排使其自动运行,它工作正常,但我必须重新命名每个文件,使其真正自动。我会调查它,如果它工作与否,会给你回复,谢谢