PHP 和 MySQL - 加载数据本地问题

标签 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

任何帮助将不胜感激,因为我正在绞尽脑汁试图找出问题所在。

最佳答案

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

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

关于PHP 和 MySQL - 加载数据本地问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16713517/

相关文章:

javascript - 从 View 到 Controller 获取选中的复选框列表数据

php - soap 信封是如何生成的,为什么 .NET 和 php 客户端会生成/接收不同的 soap 信封?

mysql - 'WHERE column LIKE "%expression %"' 如何在 MySQL 中比 MATCH(column) AGAINST ("expression") 表现得更好?

python - 按正确的顺序将字典写入 csv 文件

javascript - 来自数据库数据的内容可更改 Dropdownlist

php - 获取连接表的列名

mysql - 如何在 mysql 中获取从当前日期起过去 1 年下载歌曲的月度报告

php - 双左连接查询需要优化

python - 如何将带有嵌套字典的列表写入 csv 文件?

ruby-on-rails - 在 csv 列和 ActiveRecord 对象之间进行比较