Я хочу вставить около 50 000 запросов MySQL для «вставки» в MySQL DB,
для этого у меня есть 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.