Импорт большого 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 и разбить файл на более мелкие файлы. Работал нормально, когда я импортировал каждый кусок отдельно.