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代码中创建文件名。另一个选项是使用。我正在使用命令行运行它,希望稍后安排使其自动运行,它工作正常,但我必须重新命名每个文件,使其真正自动。我会调查它,如果它工作与否,会给你回复,谢谢