1

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

我尝试了以下但没有成功:

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

任何人都可以推荐替代品吗?

谢谢

4

2 回答 2

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 语法),然后使用上述语法使用此变量

于 2009-07-27T08:25:53.287 回答
2

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

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

(未经测试)

于 2009-07-29T15:05:27.750 回答