在MySQL中使用日期重命名outfile

6
如何使用连接函数重命名文件名? 我想要将文件名与日期相连,请问有人能帮我吗?
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'

你的查询有什么问题? - juergen d
我总是遇到这个错误:#1064 - 您的SQL语法有误,请查看与您的MySQL服务器版本相对应的手册,以获取正确的语法使用方式,附近为'@OUTFILE - avien
其实我对MySQL中的连接操作不是很熟悉,但是我只是想让我的文件名是动态的,这样每次运行查询时都会给我一个带有日期的唯一文件名;( - avien
2个回答

10

您可以像这样做:

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”标记,以示这是正确的答案。 - Haim Evgi

1

你应该使用预处理语句。构建一个查询字符串,然后执行它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接