使用SELECT INTO OUTFILE时出现语法错误

时间:2010-11-22 20:02:46

标签: mysql sql mysql-error-1064 into-outfile

当我运行以下查询时

SELECT a,b,a+b INTO OUTFILE '/tmp/result.txt'
  FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
  LINES TERMINATED BY '\n'
  FROM test_table;

直接来自MySQL文档,我收到语法错误。我没有test_table表,我知道这个语句实际上不起作用,但它似乎不应该给出语法错误。如果我从MySQL文档中直接得到语法错误,可能会发生什么?

这是我正在查看的文档(5.1): http://dev.mysql.com/doc/refman/5.1/en/select.html

这是我的MySQL版本:

mysql  Ver 14.14 Distrib 5.1.49, for debian-linux-gnu (i686) using readline 6.1

2 个答案:

答案 0 :(得分:0)

此代码适用于我。

起初我遇到Unknown table 'test_table' in my_db错误。

创建表CREATE TABLE test_table (a VARCHAR(255), b VARCHAR(255))之后,它才起作用。没有语法错误。

修改

从官方mysql命令行客户端运行查询可以避免GUI客户端中的潜在错误,并提供更准确的错误消息。

答案 1 :(得分:0)

根据您使用的语言,也许您必须逃避一些角色。

php示例:

$sql = "SELECT a,b,a+b INTO OUTFILE '/tmp/result.txt'"
    . " FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"'"
    . " LINES TERMINATED BY '\\n'"
    . " FROM test_table;";