今天在做一个数据同步的程序, 从客户端同步数据到服务器端, 由于同步逻辑判断上的错误,导致服务器端存在
大量重复数据,考虑到数据大,不可能手工删除, 想到了以下方法给大家分享:
注: ( 如果不想用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;