剔除mysql数据库中重复的数据有什么好办法吗?
某字段在插入数据的时候插入了大量重复的数据,请问有什么方法检测和删除这些数据吗?谢谢 问题点数:0、回复次数:9Top
1 楼DFlyingchen(弱水三千)回复于 2003-09-04 01:59:38 得分 0
http://www.knowsky.com/list.asp?id=1865
MySQL应该也有类似的操作Top
2 楼DFlyingchen(弱水三千)回复于 2003-09-04 02:07:48 得分 0
先睡觉了,明早在说……ZZZTop
3 楼zalvsa(水米)回复于 2003-09-04 07:56:53 得分 0
写程序把该数据记录抓取出来,再写到另外一个相同的字段里面,只是在写进的时候,判断是否已有该记录。Top
4 楼xuzuning(唠叨)回复于 2003-09-04 08:26:00 得分 0
CREATE TEMPORARY TABLE tmp_name select DISTINCT * form tbl_name
delete from tbl_name
INSERT into tbl_name select * from tmp_name
Top
5 楼ykjsw(ykjsw)回复于 2003-09-04 09:59:08 得分 0
我的情况是根据表里一个字段来删除,就是说,那个字段的值相同,就把相应的数据全部删掉,并不是只删那一个字段的内容,
谢谢楼上的Top
6 楼myblessu(继续混着,到被人赶走为止)回复于 2003-09-04 10:50:51 得分 0
循环取出每条记录的那个字段的值,在判断是否还有别的记录有想同的,如有则删之.Top
7 楼stan23(小刀)回复于 2003-09-04 11:34:06 得分 0
这个方案应该快些:
先查询出符合条件的记录的数目 n;
再按相同条件删除 n-1条记录。Top
8 楼ashchen(老陳)回复于 2003-09-05 12:49:32 得分 0
取一个主键,然后设置它是唯一,以后就不会插入重复的了Top
9 楼leebx(浩如海)回复于 2003-09-08 09:10:18 得分 0
在这个表中建立一个唯一标示原组的关键字id,这个字段肯定不会重复,设重复字段名为rkey
然后再把这个表table1相连删除
delete
from table1 a,table1 b
where a.id<>b.id and a.rkey=b.rkey;Top



