如何重建MySQL数据库
最近,由于数据库中重复数据很多,数据量还有点大,所以本想用代码解决,但发现可以用SQL解决。 在这里记录
查看此SQL
DELETE consum_record
来自
consum_record,
(
选择
最小(id ) id,
user_id,
monetary、
consume_time
来自
consum_record
GROUP BY
user_id,
monetary、
consume_time
哈维宁
count(* ) 1
) t2
WHERE
consum _ record.user _ id=T2.user _ id
and consum _ record.monetary=T2.monetary
and consum _ record.consume _ time=T2.consume _ time
AND consum_record.id t2.id;
首先,调查重复记录并保存在一个集合(临时表t2 )中。 集合中有每个重复记录的最小ID
consum _ record.user _ id=T2.user _ id
and consum _ record.monetary=T2.monetary
and consum _ record.consume _ time=T2.consume _ time
AND consum_record.id t2.id
这些关联是确定重复项的标准字段
根据条件,删除原表的id大于t2的id的记录
请来这里欢呼SQL大法
必须更加努力学习! SQL也不能拖后腿
但是,处理完成后,数据库中主键id不连续,强迫症犯了
解决办法如下。
在这里,删除主键id字段,然后重新生成主键id字段