quiero insertar consulta sobre 50.000 MySQL para 'insertar' en la base de datos mysql, para este tengo 2 opciones,importación de base de datos MySQL
1- importar directamente el archivo (.sql): Siguiendo se produce un error "Probablemente haya intentado cargar un archivo demasiado grande. Consulte la documentación para encontrar formas de solucionar este límite."
2- Utilice el código php para insertar estas consultas en forma de diferentes fragmentos del (.sql) archivo. aquí es mi código:
<?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++;
}
?>
Pero el error tamaño de la memoria es producir sin embargo he extender límite de memoria de 128M a 256M o incluso 512M.
entonces creo que si pudiera ser capaz de cargar un filas limitados de (.sql) presentar como 1.000 a la vez y ejecutar la consulta mysql, entonces puede ser la importación todos los registros de archivo de base de datos. Pero aquí no tengo idea de cómo manejar la ubicación de inicio del archivo para finalizar y cómo puedo actualizar la ubicación de inicio y finalización, de modo que no recupere las filas obtenidas previamente del archivo .sql.
¿Ha reiniciado los servicios e intentarlo de nuevo al cambiar el memory_limit – Treby
¿Ha "se refieren [ó] a la documentación para formas de solución este límite "? – Boldewyn