如果表中记录重复,用delete删除的时候,系统报错:Multiple records found,but only one was expected.请问该如何删除重复的记录?谢谢!

解决方案 »

  1.   

    如果你是用sql来delete,
    写出你delete 的条件看看,可能是你的条件查出的记录不唯一吧。
      

  2.   

    朋友: 1:如果你的表没有主键,可用一下SQL语句删除:
       delete From aa where a in (  select a From aa group by a having count(a)>1  ) 2:如果你的表有主键,那不应该有重复记录,有,则只有从数据库中用手工删除,即在SQL Server中选择重复记录,单击【Delete】键盘按钮,删除。
      

  3.   

    可使用Distinct来过滤重复的记录,然后通过一张临时表把重复记录删除。
    我就是这样实现的。
      

  4.   

    楼主
      用wjk(wjk)的方法可行,你应该是没有定义主键,是第一种情况。
      用wyj1974的方法,是你的重复记录数太多的话,用他的方法更快的。
      

  5.   

    直接删是没指望了,不妨换个角度,比方说把表里不重复的记录倒入临时表
    (insert into ...select distince ... from ...)
    然后把源表清空,最后再倒回去就可以了.