方法一
建立一个临时表,将筛选好的数据存入临时表。删除原表数据后,将临时表数据插入原表。
- 建一个临时表,并将筛选的数据导入临时表
CREATE TABLE shop_users2 AS ( SELECT DISTINCT * FROM shop_users )
- 删除原表数据
DELETE FROM shop_users
- 将临时表数据插入原表
INSERT INTO shop_users
SELECT * FROM shop_users2
方法二
通过添加字段自增id,删除重复数据。最后删除自增id。
- 给表增加自增id
ALTER TABLE shop_users ADD id INT ( 10 ) NOT NULL auto_increment,
ADD INDEX idx_id ( id )
- 删除重复数据
DELETE
FROM
shop_users
WHERE
id NOT IN (
SELECT
id
FROM
( SELECT min( main.id ) id FROM shop_users main GROUP BY main.NAME, main.country, main.address ) children
)
- 删除自增id
ALTER TABLE shop_users DROP id