我正在尝试使用行数据格式化outfile的文件名。
我尝试过以下方法但没有成功:
SELECT t1.field1
FROM table1 t1
LIMIT 1
INTO OUTFILE CONCAT( '/my_path/', t1.field2, '.txt' );
有人可以推荐替代品吗?
由于
答案 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'
(未测试的)