我想插入約50000 MySQL查詢在MySQL數據庫, 「插入」爲了這個,我有2個選項,導入大文件
1-直接導入(.SQL)文件: 繼錯誤發生 「您可能試圖上傳過大的文件,請參閱文檔以瞭解如何解決此限制的方法。」
2-使用php代碼以(.sql)格式從不同塊中插入這些查詢文件。 這裏是我的代碼:
<?php
// Configure DB
include "config.php";
// Get file data
$file = file('country.txt');
// Set pointers & position variables
$position = 0;
$eof = 0;
while ($eof < sizeof($file))
{
for ($i = $position; $i < ($position + 2); $i++)
{
if ($i < sizeof($file))
{
$flag = mysql_query($file[$i]);
if (isset($flag))
{
echo "Insert Successfully<br />";
$position++;
}
else
{
echo mysql_error() . "<br>\n";
}
}
else
{
echo "<br />End of File";
break;
}
}
$eof++;
}
?>
但內存大小錯誤然而發生,我有擴展內存限制從128M到256M甚至512M。
那麼我認爲如果我能能夠在一個時間來加載從(.SQL)文件像1000限量行執行MySQL查詢那麼它可能是從文件導入的所有記錄到數據庫中。 但在這裏我沒有對如何處理文件的起始位置到結束,我怎麼可以更新的起點和終點的位置,所以它不會從取.sql文件的先前獲取行的想法。
你重新啓動服務,並再次嘗試在改變memory_limit的 – Treby 2010-01-06 06:18:35
有你「指[編者按]到文檔的方法來解決這個限制「? – Boldewyn 2010-01-07 08:46:13