Импорт большого csv-файла с помощью phpMyAdmin

У меня есть CSV файл, большой, 30 000 строк. Я попытался импортировать его с помощью LOAD file и т. д.. из терминала, как я нашел в google, но это не сработало. Он делал импорт, но моя таблица получила 30 000 строк нулевых ячеек.

после этого я попробовал phpMyAdmin и там я узнал, что мой csv был слишком большим. Я разделил его на 5, используя CSV Splitter. Я сделал импорт для первого файла. Все прошло отлично. Чем я пытался импортировать второй, но я получил thos ошибка:

фатальная ошибка: позволенный размер памяти 134217728 байт исчерпаны (попытался выделить 35 байт) в C:xamppphpMyAdminlibrariesimportcsv - ... РНР по строке 370

или ошибка 1064 иногда.

знаете ли вы, почему и как я могу его решить? Спасибо.

2 ответов


увеличьте лимит памяти и время скрипта вашего php, это потому, что вы выполняете инструкцию mysql через сервер php.

проверьте свой php.ini файл для этого vars:

memory_limit
max_execution_time

но в любом случае я бы сделал это через клиент mysql (терминал), проверьте mysql doc

LOAD DATA LOCAL INFILE '/path/to/your/csv/file/csv_file.csv' INTO TABLE database_name.table_name FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';

MySQL Documentation - Загрузить Синтаксис Infile Данных документация по PHP-настройки ядра Ini


Я получил эту проблему при попытке импортировать большой файл с помощью phpMyAdmin, а также не могу использовать команду в версии, которую я использую. Чтобы решить эту проблему, я использовал этот редактор CSV и разбить файл на более мелкие файлы. Работал нормально, когда я импортировал каждый кусок отдельно.