-2
我正在將4,000多個CSV文件導入到MySQL中。我使用的代碼對於大約前2,750個CSV文件來說工作得很好 - 數據插入MySQL就好了。但是,在這些前2,750個文件之後,即使(a)CSV中的數據格式/類型沒有改變,數據也沒有被插入到MySQL中(b)MySQL顯示數據插入成功,沒有錯誤。到底是怎麼回事?這可能與數據庫的大小有關 - 在2,750個CSV插入後大約大約180GB。相關代碼如下。爲什麼不將數據插入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'可能在這裏玩,但我懷疑後者。 –