mysql删除无主键表中重复记录(只保留一条记录)
2016-08-22 15:50
483 查看
考虑多条语句变通的办法
mysql> select * from x_user; +------+---------+-------------+ | id | name | mobile | +------+---------+-------------+ | 1 | yangfei | 15011186301 | | 1 | yangfei | 15011186301 | | 1 | yangfei | 15011186301 | | 2 | majing | 13720099441 | | 2 | majing | 13720099441 | | 3 | yibao | 15026418738 | | 4 | feiy | 13886604139 | +------+---------+-------------+ 7 rows in set (0.00 sec)
一、查询出不重复的记录存入新表
mysql> create table x_user2 as (select distinct id,name,mobile from x_ user); Query OK, 4 rows affected (0.44 sec) Records: 4 Duplicates: 0 Warnings: 0 mysql> select * from x_user2; +------+---------+-------------+ | id | name | mobile | +------+---------+-------------+ | 1 | yangfei | 15011186301 | | 2 | majing | 13720099441 | | 3 | yibao | 15026418738 | | 4 | feiy | 13886604139 | +------+---------+-------------+ 4 rows in set (0.00 sec)
二、删除原表中所有数据
mysql> delete from x_user; Query OK, 7 rows affected (0.12 sec)
三、把新表中的数据写回原表
mysql> select * from x_user; Empty set (0.00 sec) mysql> select * from x_user2; +------+---------+-------------+ | id | name | mobile | +------+---------+-------------+ | 1 | yangfei | 15011186301 | | 2 | majing | 13720099441 | | 3 | yibao | 15026418738 | | 4 | feiy | 13886604139 | +------+---------+-------------+ 4 rows in set (0.00 sec) mysql> insert into x_user select * from x_user2; Query OK, 4 rows affected (0.04 sec) Records: 4 Duplicates: 0 Warnings: 0 mysql> select * from x_user; +------+---------+-------------+ | id | name | mobile | +------+---------+-------------+ | 1 | yangfei | 15011186301 | | 2 | majing | 13720099441 | | 3 | yibao | 15026418738 | | 4 | feiy | 13886604139 | +------+---------+-------------+ 4 rows in set (0.00 sec)
相关文章推荐
- MySQL删除没有主键的表中的重复记录,只保留一条记录
- MySQL删除表中多余的重复记录,只保留一条记录
- MySQL删除重复记录只保留一条
- Mysql删除重复记录,保留id最小的一条
- mysql删除重复数据只保留id最大一条记录
- mysql删除重复记录只保留一条
- MySQL删除重复记录只保留一条
- MySQL删除表中多余的重复记录,只保留一条记录
- mysql 删除重复数据只保留一条记录
- Mysql删除重复记录,保留id最小的一条
- MySQL按某些字段删除重复记录,只保留一条记录
- mysql中删除重复记录,只保留一条
- mysql 删除表中的重复记录,只保留其中一条
- mysql 删除表中的重复记录,只保留其中一条
- mysql删除重复记录只保留一条数据
- 160802、1.06s删除10w条重复记录只保留一条(mysql)及linux删除乱码文件
- mysql删除重复记录,但是要保留其中一条
- Mysql 删除重复记录,只保留最小的一条
- 关于mysql中删除重复记录,并保留重复数据中的一条数据的SQL语句理解
- mysql删除重复记录,只保留一条。