代码之家  ›  专栏  ›  技术社区  ›  Jason Swett

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

  •  1
  • Jason Swett  · 技术社区  · 14 年前

    当我运行以下查询时

    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 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 回复  |  直到 14 年前
        1
  •  0
  •   Alex Jasmin    14 年前

    这个密码对我有效。

    一开始我有一个 Unknown table 'test_table' in my_db 错误。

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

    编辑:

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

        2
  •  0
  •   stewe    14 年前

    也许你需要根据你使用的语言来转义一些字符。

    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;";
    
    推荐文章