3

ファイルは絶対に存在しませんが、とにかくエラーが発生します。

そうです:

$ rm /tmp/records_materialized_view.txt;
$ mysql ... 

> SELECT * FROM records_materialized_view INTO OUTFILE '/tmp/records_materialized_view.txt';

ERROR 1086 (HY000): File '/tmp/records_materialized_view.txt' already exists
4

2 に答える 2

4

SELECT INTO OUTFILE結果をサーバーファイルに書き込みます。

サーバー上のファイルの存在を確認していますか?

クライアント マシンのローカル ファイルを選択する場合は、mysql出力をリダイレクトするだけです。

mysql mydb < script.sql > /tmp/records_materialized_view.txt
于 2013-04-24T21:14:41.787 に答える
1

同様の問題が発生したときに、この回答に出くわしました。

SELECT INTO OUTFILEはファイルを上書きしないことに気付きました。自分でクリーンアップする必要があります。したがって、次に書き込むときにこのエラーが発生します。上記の回答で、ファイルがサーバーファイルに書き込まれるという意味がわかりません。

また、SELECT INTO OUTFILEデフォルトでは、db データ ディレクトリに相対的なファイルを書き込みます。デフォルトの場所、つまり

/var/lib/mysql/

したがって、db データ ディレクトリを確認すると、そこにファイルが見つかるはずです。ファイルの最終的な場所を正確に制御するには、絶対パスを使用します。これはまさに私が求めていたものです。誰かの役に立てば幸いです。乾杯。

于 2016-04-28T06:46:54.847 に答える