使用LOAD DATA LOCAL INFILE导入CSV文件

时间:2015-01-08 14:07:40

标签: php mysql csv

我有一个非常大的.csv文件,其中包含从一个数据库导出的数据(我无法将其导出为其他任何内容)。我尝试将其导入我的mysql数据库。

但是,我怎么试试我得到错误。首先,我在数据库服务器上没有SSH所以我无法在apache站点上更改任何内容,对于PHP我的管理员文件太大,如果我尝试使用LOAD DATA INFILE我导入空白行。< / p>

有人可以帮助我吗?

CSV文件示例:

"Manufacturer","Main Type","Option Code","Option Description 1"
"JD" "50" "A1" "OD POČÁTKU VÝROBY"
"JD" "50" "A2" "OD VIN 340001"
"JD" "50" "A3" "OD VIN 440000"
"JD" "50" "A4" "OD VIN 440001"

只有可能对我有用的选项:

LOAD DATA LOCAL INFILE 'solic2.txt' INTO TABLE solic_code FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n';

P.S。我能够通过HeidySql在我的localhost中做到这一点,但是一旦服务器阻塞了端口,我就无法对服务器站点做同样的事情。

1 个答案:

答案 0 :(得分:3)

试试这个:

LOAD DATA LOCAL INFILE 'solic2.txt' INTO TABLE solic_code FIELDS TERMINATED BY ','  OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n';

这是一个csv(以逗号分隔)而不是制表符分隔,这是你用\ t设置的。

确保它将使用UTF-8:

LOAD DATA LOCAL INFILE 'solic2.txt' INTO TABLE solic_code  CHARACTER SET UTF8 FIELDS TERMINATED BY ','  OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n';