MYSQL:Synax错误选择... INTO OUTFILE

时间:2017-07-10 00:16:23

标签: mysql into-outfile

尝试选择输入文件(文件名附近)时出现语法错误:(“ERROR 1064(42000):您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册在'/ path / file'FIELDS TERMINATED第3行附近使用的正确语法“)

以下是查询:

SELECT Field
FROM Table
INTO OUTFILE ‘/path/test.csv’
FIELDS TERMINATED BY ‘,’
OPTIONALLY ENCLOSED BY “”
LINES TERMINATED BY ‘\n’
;

我在FROM之前/之后尝试了“INTO”,众多路径(并没有路径),删除了Terminated / Enclosed,确保查询运行打印到Shell(有效),确保用户(root)有授予文件权限,确保secure_file_priv =“”,单v双引号等...

虽然我已经在may网站上查看了许多处理问题变化的网页,但我发现没有任何效果。这显然是一些非常简单的错误(某种特权?),但我很难过。

我通过终端在MAC OS X上使用MYSQL 5.7.18。提前谢谢。

已添加:处理20mm +行并打开其他方式将输出作为复制/粘贴从Shell获取文件当然不是一个现实的选项。

2 个答案:

答案 0 :(得分:0)

您可能在语法中使用了向前勾选和返回勾选(您是否从网站/教程剪切并粘贴?)

而不是'/path/test.csv'尝试'/path/test.csv'

尝试一下(我也在OSX上使用MySQL)

mysql> create table foo (a varchar(10));
mysql> insert into foo values ('a');
mysql> insert into foo values ('b');

最后,

mysql> SELECT a FROM foo INTO OUTFILE "~/tmp/test.csv" FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY "" LINES TERMINATED BY "\n" ;
Query OK, 3 rows affected (0.00 sec)

我使用双引号来避免混淆蜱虫。

答案 1 :(得分:0)

这对双引号似乎是个问题。 尝试

SELECT Field
FROM Table
INTO OUTFILE ‘/path/test.csv’
FIELDS TERMINATED BY ‘,’
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY ‘\n’
;