Xóa các hàng trùng lặp bằng bảng trung gian trong MYSQL

Bảng người dùng có 5 bản ghi với email [email protected] trùng lặp

Bước 1. Tạo một bảng mới có cấu trúc giống như bảng ban đầu:

CREATE TABLE user_copy LIKE users

Bước 2. Chèn các hàng riêng biệt từ bảng gốc sang bảng mới:

INSERT INTO user_copy SELECT * FROM users GROUP BY email

Bước 3. thả bảng gốc và đổi tên bảng ngay lập tức thành bảng gốc

DROP TABLE users;
ALTER TABLE user_copy RENAME TO users;

Kết quả