chcę wstawić zapytanie o 50.000 mysql dla „wkładką” w MySQL DB, za to mam 2 opcje,importu dużych plików na MySQL DB
1- Bezpośrednio zaimportować plik (.sql): obserwuję Wystąpił błąd "Prawdopodobnie próbowałeś przesłać zbyt duży plik. Zapoznaj się z dokumentacją, aby dowiedzieć się, jak obejść ten limit."
- Użyj kodu php, aby wstawić zapytania w postaci różnych fragmentów z (.sql) plik. tutaj jest mój kod:
<?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++;
}
?>
Ale Błąd rozmiaru pamięci występują jednak muszę przedłużyć limit pamięci od 128M do 256M lub nawet 512MB.
Następnie myślę, że jeśli mógłbym ładować ograniczone wiersze z pliku (.sql) jak 1000 na raz i wykonać zapytanie mysql to może to być import wszystkich rekordów z pliku do bazy danych. Ale tutaj nie mam pojęcia, jak postępować z lokalizacją startową pliku do końca i jak mogę zaktualizować lokalizację początkową i końcową, tak aby nie pobierać wcześniej pobranych wierszy z pliku .sql.
pan ponownie uruchomić usługi i spróbuj go ponownie po zmianie memory_limit – Treby
Czy „odnosi [ł] do dokumentacji sposobów obejścia tego ograniczenia "? – Boldewyn