PHP& MySQL - LOAD DATA LOCAL问题

时间:2013-05-23 12:07:16

标签: php mysql csv

我正在使用php中的一个小项目将csv文件导入MySQL表。我目前只是使用一个小测试表和csv然而我不断向我发出错误,我似乎无法发现它。我已经看过其他人的解决方案,虽然存在差异但我没有找到任何应​​该停止导入的内容。

查询如下:

LOAD DATA LOCAL INFILE '".$this->upload_name."' 
IGNORE INTO TABLE `testings` 
FIELDS TERMINATED BY ',' 
OPTIONALLY ENCLOSED BY '\"'
ESCAPED BY '\\' 
LINES TERMINATED BY '\\n'

cvs如下

bob,builder,10,a
john,smith,5,a
happy,camper,8,a
johhny,ball,12,a

表格如下

fname  varchar(100)
sname  varchar(100)
copies  int(8)      
nowt  varchar(100) 

错误如下

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\n'' at line 6

任何帮助都会非常感激,因为我在这里试图看到这个问题。

1 个答案:

答案 0 :(得分:0)

表名不应放在引号中。如果它不是MySQL保留关键字,则一般使用反引号或不使用任何反引号。

"LOAD DATA 
LOCAL INFILE " . $this->upload_name . "
IGNORE INTO TABLE `testings`
FIELDS TERMINATED BY ',' 
OPTIONALLY ENCLOSED BY '\"'
ESCAPED BY '\\' 
LINES TERMINATED BY '\\n'"