删除数据库表中重复记录方法分享

今天在做一个数据同步的程序, 从客户端同步数据到服务器端, 由于同步逻辑判断上的错误,导致服务器端存在

大量重复数据,考虑到数据大,不可能手工删除, 想到了以下方法给大家分享:

注: ( 如果不想用DROP的方式, 可以用 insert into 表(字段1,字段2) select 表2(字段1,字段2) from 表2)

 

1. 过滤掉所以重复记录,并把所有未重复数据放入临时表中

    SELECT DISTINCT * INTO #TEMP FROM TABLENAME;

2. 删除原重复表

    DROP TABLE TABLENAME;

3. 把临时表中的未重复数据导入原表中

    SELECT DISTINCT * INTO TABLENAME FROM #TEMP;

4. 最后删除临时表就成功啦

    DROP TABLE #TEMP;

posted @ 2012-03-13 17:02 Mr.Tom 阅读(...) 评论(...) 编辑 收藏