如何格式化outfile(或dumpfile)的文件名

时间:2009-07-27 06:40:12

标签: mysql sql into-outfile

我正在尝试使用行数据格式化outfile的文件名。

我尝试过以下方法但没有成功:

SELECT t1.field1
FROM table1 t1
LIMIT 1
INTO OUTFILE CONCAT( '/my_path/', t1.field2, '.txt' );

有人可以推荐替代品吗?

由于

2 个答案:

答案 0 :(得分:3)

在MySQL中,无法将outfile指定为表达式/变量。我能够做到这一点的唯一方法是准备语句(在我的情况下,作为存储过程的一部分):

SET @query = CONCAT("SELECT t1.field1 FROM table1 t1 LIMIT 1 INTO OUTFILE /my_path/", myvar, ".txt" );
PREPARE statement FROM @query;
EXECUTE statement;

我认为您不能以这种方式从源表中引用列/字段。

您必须执行初始SELECT语句以获取t1.field1的值(可能使用SELECT ... INTO语法),然后将此变量与上面的语法一起使用

答案 1 :(得分:2)

您也可以在命令提示符下执行此操作:

mysql -h172.29.0.1 -uroot -pPassWd -e“SELECT t1.field1 FROM table1 t1 LIMIT 1”> '/ my_path /',t1.field2,'。txt'

(未测试的)