1

行データを使用してoutfileのファイル名をフォーマットしようとしています。

私は次のことを試みましたが成功しませんでした:

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

誰かが代替案をお勧めできますか?

ありがとう

4

2 に答える 2

3

MySQLでは、出力ファイルを式/変数として指定することはできません。これを行うことができた唯一の方法は、ステートメントを準備することでした(私の場合、ストアドプロシージャの一部として)。

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 に答える