Синтаксическая ошибка при использовании SELECT INTO OUTFILE - PullRequest
1 голос
/ 22 ноября 2010

Когда я запускаю следующий запрос

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 голосов
/ 22 ноября 2010

Возможно, вам придется экранировать некоторые символы в зависимости от используемого вами языка.

Пример 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;";
0 голосов
/ 22 ноября 2010

Этот код работает для меня.

Сначала у меня была ошибка Unknown table 'test_table' in my_db.

После создания таблицы CREATE TABLE test_table (a VARCHAR(255), b VARCHAR(255)) это просто сработало.Нет синтаксической ошибки.

Редактировать:

Выполнение запроса из официального клиента командной строки mysql может избежать потенциальных ошибок в вашем клиенте GUI и дать более точные сообщения об ошибках.

...