使用LOAD DATA LOCAL INFILE在MySQL中php的CSV导入问题

时间:2018-08-08 09:13:19

标签: php mysql csv

我在使用php导入csv的工作中遇到了一些问题。
我目前正在编写其他人的代码。

他可以毫无问题地导入许多csv,但是当我使用相同的算法时,我会遇到一些麻烦。

他正在使用此功能:

LOAD DATA LOCAL INFILE "'.$filename.'"
INTO TABLE '.$tablename.'
CHARACTER SET latin1
FIELDS TERMINATED by \';\'
ENCLOSED BY \'"\'
ESCAPED BY \'"\'
LINES TERMINATED BY \'\r\n\'
IGNORE 1 LINES'

我遇到的问题是导入行为很奇怪。

这是我可以观察到的列表:

  • 它仅导入第一行
  • 第一行并不总是被忽略,例如如果csv中有列名,它会被忽略,如果我重新命名它,它不会。
  • 格式不是问题,我尝试获取一个有效的文件并将其粘贴到其中,然后另存为。
  • 数据库中的第一个字段始终为0
  • 结果在文件中列的位置上的功能有所不同:就像有A,B,C一样,对于其他两个字段,该字段可以为空(第一个字段始终为0)。但是,如果我将其放置为A,C,B或B,C,A或其他任何内容,则这些字段可能会被填充。

谢谢您的时间,问我是否需要有关我的代码的其他信息!

0 个答案:

没有答案