找一个set,每插入一条,把key放进去,然后每次插入之前去set中检查是否存在,已经存在的不insert

解决方案 »

  1.   

    建议
    1) 去除表的PK (alter table)
    2) import data
    3) 写个SQL去拿所有相同的PK column 相同的数据
      

  2.   

    select * from table a ,table b where a.pk=b.pk; 剔除掉 相同pk  想办法 
      

  3.   

    谢谢各位的帮助.我不知道怎么给你们加分. 我试试能不能给你们加到.谢谢了。方法我觉得一楼的行的通,可是我不知道怎么做。 我的导数据的表是有多表(放在一个动态下拉菜单里面),所以去掉表的主键应该行不通的。 经理说用抛SQL异常可以判断.
      

  4.   

    我觉得你的数据库设计就有问题,
    既然插入到主键的值 有重复,那那个字段就不能做主键啊,再加个主键字段吧,最省事了
    如果你是想把重复的找出来不存?还是想统计什么数量? 我看你在try{}catch(){}里面有  计算他的数量嘛。
    如果像你这样计算他的数量  的话,那不就永远都是一吗?主键又不能相同。
      if(ex.getErrorCode()==00001)    //主键重复 
                    { 
                       计算他的数量  
                    } 
                    else 
                    { 
                        其他                } 
      

  5.   

    要插入之前写判断你的 主键(id)是否一定在表里边存在了!
     select * from table where id in (select id from table)
    如果这个结果集返回数=1的话,说明存在了, 你就不插入了!
      

  6.   

    做一个hashmap判断key是否包含,
    if (包含) {
        有key重复;
    } else {
        存入map中;
    }