我在 .CSV
文件中有记录,我想将它们导入 MySQL
数据库。
每当我导入 .CSV
时,我都会收到消息 Import has been successfully finished...
但是 114 条记录中只有 79 条被插入到数据库中。
当我尝试导入包含 411 条记录的 .CSV
文件时,只插入了 282 条。得到 411 条记录的 CSV 文件包括两类记录 Active 和 Sold
,其中 114 条记录是 Active。
有人遇到过这种问题吗?如果是应该怎么办?
最佳答案
我用 php 编写了自己的 csv 导入程序。我使用 php 命令 fgetcsv 读取 csv 文件,然后循环使用 mysql insert 命令。
$handle = fopen($this->file, "r"); $i=0; $delimiter = ($this->fieldDelimiter == 'TAB') ? chr(9) : $this->fieldDelimiter; while (($data = fgetcsv($handle, 10000, $delimiter)) !== FALSE) { $mydata[] = $data; } fclose ($handle); reset ($mydata); if ($this->CSVhasTitle) { $mydata = array_slice($mydata,1); //delete first row }
然后我遍历数组并使用 mysql 插入:
foreach ($mydata as $value) { INSERT INTO $table (...) VALUES (....) }
但我在循环之前将确切的列名添加到数组中。我有一个包含所有列名的数组。
关于php - 将 CSV 文件导入 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11767238/