我正在尝试使用行数据格式化 outfile 的文件名。
我尝试了以下但没有成功:
SELECT t1.field1
FROM table1 t1
LIMIT 1
INTO OUTFILE CONCAT( '/my_path/', t1.field2, '.txt' );
任何人都可以推荐替代品吗?
谢谢
我正在尝试使用行数据格式化 outfile 的文件名。
我尝试了以下但没有成功:
SELECT t1.field1
FROM table1 t1
LIMIT 1
INTO OUTFILE CONCAT( '/my_path/', t1.field2, '.txt' );
任何人都可以推荐替代品吗?
谢谢
在 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 语法),然后使用上述语法使用此变量
您也可以在命令提示符下执行此操作:
mysql -h172.29.0.1 -uroot -pPassWd -e"SELECT t1.field1 FROM table1 t1 LIMIT 1" > '/my_path/', t1.field2, '.txt'
(未经测试)