7

我有一个 csv 文件,一个很大的,30 000 行。正如我在谷歌上发现的那样,我尝试使用 LOAD 文件等从终端导入它,但它没有用。它正在进行导入,但我的表有 30 000 行 NULL 单元格。

之后我尝试了 phpMyAdmin,发现我的 csv 太大了。我使用 CSV Splitter 将其分成 5 份。我已经为第一个文件进行了导入。一切都很顺利。比我尝试导入第二个,但我得到了错误:

致命错误:第 370 行 C:\xampp\phpMyAdmin\libraries\import\csv.php 中允许的内存大小为 134217728 字节已用尽(试图分配 35 个字节)

或有时出现 1064 错误。

你知道为什么以及如何解决它吗?谢谢你。

4

2 回答 2

26

增加 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 文档 - 加载数据 Infile 语法 PHP 文档 - Ini 核心设置

于 2012-07-11T10:19:02.763 回答
1

我在尝试使用 phpMyAdmin 导入大文件时遇到了这个问题,并且我也无法在我正在使用的版本中使用该命令。为了解决这个问题,我使用了这个 CSV 编辑器并将文件拆分为更小的文件。当我分别导入每个块时工作正常。

于 2012-10-03T23:21:29.937 回答