Search code examples
mysqlcsvselect-into-outfile

phpMyAdmin SQL Error Unrecognized keyword near FIELDS


I'm trying to execute this MySQL to import some data into a csv file.

SELECT *
FROM purchase WHERE purchase.PO_DATE >= '1-1-2016'
INTO OUTFILE "D:\\Reports\\Jan.csv"
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'

But I'm receiving the output

Static analysis:

11 errors were found during analysis.

    Unrecognized keyword. (near "FIELDS" at position 99)
    Unrecognized keyword. (near "TERMINATED" at position 106)
    Unrecognized keyword. (near "BY" at position 117)
    Unexpected token. (near "','" at position 120)
    Unrecognized keyword. (near "ENCLOSED" at position 125)
    Unrecognized keyword. (near "BY" at position 134)
    Unexpected token. (near "'"'" at position 137)
    Unrecognized keyword. (near "LINES" at position 142)
    Unrecognized keyword. (near "TERMINATED" at position 148)
    Unrecognized keyword. (near "BY" at position 159)
    Unexpected token. (near "'\n'" at position 162)

SQL query: Documentation

SELECT * FROM purchase WHERE purchase.PO_DATE >= '1-1-2016' INTO OUTFILE "D:\\Reports\\Jan.csv" FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' 

Anyone knows how to solve this issue ?


Solution

  • The information regarding your output file should be specified between SELECT and FROM clauses:

    SELECT *
    INTO OUTFILE "D:\Reports\Jan.csv"
    FIELDS TERMINATED BY ','
    ENCLOSED BY '"'
    LINES TERMINATED BY '\n'    
    FROM purchase 
    WHERE purchase.PO_DATE >= '1-1-2016'
    

    MySQL 5.7 Reference Manual | LOAD DATA INFILE Syntax