我有非常大的.csv文件,它由1000行组成。导入到我的数据库时,它需要花费太多时间,有时会显示错误,如超时。
为了避免这种情况,我想先读取100行并导入数据库,依此类推。用PHP怎么办?有没有简单的方法?
答案 0 :(得分:1)
您可能会考虑使用MySQL LOAD DATA语法。 它允许您从SQL查询中导入表中CSV的数据。你可以参数分隔符,行结尾等... 它可能比在PHP中解析文件并生成INSERT快得多。 请注意,您有两个选项:LOAD DATA INFILE(文件必须是mysql deamon可读)和LOAD DATA LOCAL INFILE(文件必须可以从mysql客户端读取)。
答案 1 :(得分:0)
while (($data = fgetcsv($handle,1000, ",")) != FALSE)
{
$num = count($data);
for ($c=0; $c < $num; $c++)
{
$col[$c] = $data[$c];
}
}
此代码对您有所帮助