2016-10-15 2 views
-2

4,000以上のCSVファイルをMySQLにインポートしています。私が使用しているコードは、最初の2,750のCSVファイルについて完全に正常に動作します。データはMySQLに正しく挿入されます。しかし、最初の2,750ファイルの後では、(a)CSVのデータフォーマット/タイプが変更されていなくても、(b)MySQLはデータの挿入に成功し、エラーは表示されません。何が起こっている?これはデータベースのサイズに関連していますか?2,750のCSV挿入後には約180 GBです。関連するコードは以下の通りです。MySQLにデータが挿入されないのはなぜですか?

$query = "LOAD DATA LOCAL INFILE '$csvfilelocation' INTO TABLE xxx FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' IGNORE 1 LINES (@col1,@col2,@dummy,@dummy,@col5,@col6) set [email protected],[email protected],[email protected],[email protected]"; 

$status = mysqli_query($con,$query) or die(mysqli_error($con)); 

//If successful insert, mark the CSV as imported 
$filename = $csvfilelocation; 
if ($status) { 
    $stmt = mysqli_prepare($con, "UPDATE xxx_list SET putindatabase = 1 WHERE filename = ?"); 
    mysqli_stmt_bind_param($stmt, "s", $filename); 
    mysqli_stmt_execute($stmt); 
    mysqli_stmt_close($stmt); 
} 
+0

2751 nthを削除してもう一度お試しください。 – selami

+0

@selamiそれを試してみました。動作しません。さらに、すべてのCSVは、列や書式などの点で、データを除いて全く同じです。 – user4951834

+0

タイムアウトが発生する可能性があります。それを増やしたり、ゼロに設定したりしてください。 http://php.net/manual/en/function.set-time-limit.phpそしておそらく 'upload_max_filesize'がここにあるかもしれませんが、私は後者を疑っています。 –

答えて

0

なぜこれが起こったのか分かりません。 CSVを1つにまとめるのではなく、別のデータベースに分割して問題を解決しました。

関連する問題