【问题标题】:Rename outfile with date in mysql在mysql中用日期重命名outfile
【发布时间】:2012-07-05 12:11:08
【问题描述】:

如何使用 concat 函数重命名文件名? 我想要我的文件名和日期,谁能帮我解决这个问题。

SET @OUTFILE = CONCAT( CONCAT('/xampp/htdocs/mysite/reports-', NOW()), '.csv');


SELECT * FROM `tbl_user` INTO OUTFILE  @OUTFILE FIELDS TERMINATED BY ','ENCLOSED BY '"' LINES TERMINATED BY '\n'

【问题讨论】:

  • 您的查询有什么问题
  • 我总是收到此错误:#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获得在 '@OU​​TFILE 附近使用的正确语法
  • 实际上我对 mysql 中的连接不太熟悉,无论如何我只是希望我的文件名是动态的,所以每次我运行这个查询它都会给我一个带有日期的唯一文件名;(

标签: php mysql csv export file-io


【解决方案1】:

你可以做点什么like:

SET @sql_text = 
   CONCAT (
       "SELECT * FROM `tbl_user` into outfile '/xampp/htdocs/mysite/reports-"
       , DATE_FORMAT( NOW(), '%Y%m%d')
       , ".csv'"
    );

PREPARE s1 FROM @sql_text;
EXECUTE s1;
DROP PREPARE s1;

【讨论】:

  • 如果它的帮助支持并设置为 V 符号以设置为正确答案
【解决方案2】:

您应该使用prepared statements。构建一个查询字符串,然后执行它。

【讨论】:

    猜你喜欢
    • 2018-06-12
    • 2020-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-09
    • 2011-08-10
    • 2012-09-20
    相关资源
    最近更新 更多