在报名表中 由于用户多次提交了,使得数据库里面 有很多重复数据
这里面 需要用 left join 关联查询 ,不用 select 子查询( 百度过 是mysql 数据库的原因,不支持 delect 后面 加 select 子查询 )
delete a from `onethink_baoming` a left join ( select id from `onethink_baoming` group by (name+tel) ) b on a .id =b .id where b .id is null
这里面 需要用 left join 关联查询 ,不用 select 子查询( 百度过 是mysql 数据库的原因,不支持 delect 后面 加 select 子查询 )
delete a from `onethink_baoming` a left join ( select id from `onethink_baoming` group by (name+tel) ) b on a .id =b .id where b .id is null
Mysql删除重复的记录(只保留一条)
原理很简单:
把不重复的记录复制到一个新table, 之后删除旧table, 再把新table改回旧table的名不就行了?
create table new_table_name select *, count(distinct title_name) from old_table_name group by title_name
new_table_name就是新表名
old_table_name 为原表名
title_name 就是不想重复的字段
注意:这个方法创建的新表后面会多一个字段,删除即可