Tôi muốn chèn truy vấn khoảng 50.000 mysql cho 'chèn' trong db mysql, cho điều này tôi có 2 lựa chọn,nhập tập tin lớn vào MySQL DB
1- Trực tiếp nhập khẩu (sql) file: Tiếp theo lỗi xảy ra "Bạn có thể cố gắng tải lên tệp quá lớn. Vui lòng tham khảo tài liệu về cách giải quyết giới hạn này."
2- Sử dụng mã php để chèn các truy vấn này dưới dạng các khối khác nhau từ (.sql) tập tin. đây là mã của tôi:
<?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++;
}
?>
Nhưng kích thước bộ nhớ lỗi là xảy ra tuy nhiên tôi có mở rộng giới hạn bộ nhớ từ 128M đến 256M hoặc thậm chí 512M. Sau đó, tôi nghĩ rằng nếu tôi có thể tải một hàng hạn chế từ (.sql) tập tin như 1000 tại một thời điểm và thực hiện truy vấn mysql sau đó nó có thể được nhập khẩu tất cả các hồ sơ từ tập tin để db. Nhưng ở đây tôi không có bất kỳ ý tưởng nào về cách xử lý vị trí bắt đầu của tệp và cách tôi có thể cập nhật vị trí bắt đầu và kết thúc, để nó không tìm nạp các hàng đã tìm nạp trước đó từ tệp .sql.
bạn đã khởi động lại dịch vụ và thử lại lần nữa khi thay đổi memory_limit – Treby
Bạn đã "tham khảo [ed] để tài liệu hướng dẫn cách giải quyết giới hạn này "? – Boldewyn