我有一个csv文件,一个大文件,30 000行。我试图使用LOAD文件等从终端导入它,就像我在谷歌上找到的那样,但它没有用。它正在进行导入,但我的表有30 000行NULL单元格。
之后我尝试了phpMyAdmin,在那里我发现我的csv太大了。我使用CSV Splitter将它拆分为5。我已经为第一个文件导入了。一切都很好。比我试图导入第二个,但我得到了错误:
有时会出现致命错误:允许的内存大小为134217728字节耗尽(尝试过 在C:\ xampp \ phpMyAdmin \ libraries \ import \ csv.php中分配35个字节) 在370行
或1064错误。
你知道为什么以及如何解决它?谢谢。
答案 0 :(得分:20)
增加你的php的内存限制和脚本时间,这是因为你通过php服务器执行mysql指令。
检查你的php.ini文件中的这个变种:
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 - Load Data Infile Syntax PHP Documentation - Ini core settings
答案 1 :(得分:1)
我在尝试使用phpMyAdmin导入大文件时出现此问题,并且我也无法在我使用的版本中使用该命令。为了解决这个问题,我使用this CSV editor并将文件拆分为较小的文件。当我分别导入每个块时工作正常。