该文件肯定不存在,但无论如何我都收到了错误。
我做:
$ 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
答案 0 :(得分:4)
SELECT INTO OUTFILE
将结果写入服务器文件。
您是否在服务器上检查文件是否存在?
如果要在客户端计算机上选择本地文件,只需重定向mysql
输出:
mysql mydb < script.sql > /tmp/records_materialized_view.txt
答案 1 :(得分:1)
遇到类似的问题时遇到了这个答案。
我意识到SELECT INTO OUTFILE
不会覆盖文件,你必须自己清理它们。因此,下次编写时会出现此错误。不确定上述答案的含义是文件是否写入服务器文件。
此外,SELECT INTO OUTFILE
默认情况下会写入相对于db数据目录的文件。默认位置,即
/var/lib/mysql/
因此,如果您检查数据库数据目录,则应在那里找到您的文件。使用绝对路径可以精确控制文件的最终位置。这正是我所追求的,希望它对某人有所帮助。欢呼声。