首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PHP我的管理员没有忽略重复行选项用于导入CSV文件

PHP我的管理员没有忽略重复行选项用于导入CSV文件
EN

Stack Overflow用户
提问于 2014-09-01 14:25:19
回答 1查看 1.8K关注 0票数 0

我有一个CSV文件,成功地导入了一个数据库表。

随着时间的推移,我将用新的数据更新这个CSV文件,因此我想知道是否导入了包含已插入表中的行的同一个文件,是否有办法避免再次添加重复项?

在研究时,我遇到了一个名为“忽略重复行”的选项,然而,在导入选项中,这对我来说是不存在的。

我正在使用打包在XAMPP中的PHP my。

其中.版本信息: 4.2.7.1,最新稳定版本: 4.2.8

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-01 16:28:04

将唯一键添加到您认为应该是唯一的数据库列中

下面是我为上传csv文件所做的代码,它将停止插入找到的值,也许它会对您有所帮助。

对重复密钥更新的使用

代码语言:javascript
复制
<?php
$conn=mysql_connect("localhost","root","");
$db=mysql_select_db("dbname");


 $csv_file="/path/to/file";
 $savefile="filename.csv";
 $handle = fopen($csv_file, "r");

$i=0;
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { //2nd param is for memory limit use it if u know what u are doing
    if($i>0){

        $import="INSERT into table_name(col0,col1,col2,col3)values('".addslashes($data[0])."','".addslashes($data[1])."','".addslashes($data[2])."','".addslashes($data[3])."')ON DUPLICATE KEY UPDATE col2= '".addslashes($data[1])."'";
        mysql_query($import) or die(mysql_error());
    }
    $i=1;
}   
?>   

干杯

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25607957

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档