-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);
}
2751 nthを削除してもう一度お試しください。 – selami
@selamiそれを試してみました。動作しません。さらに、すべてのCSVは、列や書式などの点で、データを除いて全く同じです。 – user4951834
タイムアウトが発生する可能性があります。それを増やしたり、ゼロに設定したりしてください。 http://php.net/manual/en/function.set-time-limit.phpそしておそらく 'upload_max_filesize'がここにあるかもしれませんが、私は後者を疑っています。 –