我有一个大约有657,000条记录的CSV文件。
我想将此插入我的MySQL数据库。
<?php
$handle = fopen("tdvddir.csv", "r");
$data = fgetcsv($handle, 1000, ",");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE)
{
echo "INSERT INTO `tdvddir` VALUES ('', '{$data[0]}', '{$data[1]}', '{$data[2]}', '{$data[3]}', '".addslashes($data[4])."');\n";
}
fclose($handle);
?>
php csv-sql.php > temp.sql
nohup mysql --user=root --database=data --password=password < temp.sql &
问题是,这花费了太多时间。已经超过7个小时了,到目前为止只有一半多一点被插入。
我什至尝试通过command-line导入CSV。
load data local infile 'tdvddir.csv' into table data.tdvddir
fields terminated by ','
enclosed by '"'
lines terminated by '\n'
(col2, col3, col4, col5, col6);
ERROR 1148 (42000): The used command is not allowed with this MySQL version
mysql --version
mysql Ver 14.14 Distrib 5.5.60, for debian-linux-gnu (x86_64) using readline 6.3
这是在我的Ubuntu 14.04笔记本电脑上,而不是任何服务器上。