Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Xóa các bản ghi trùng lặp khỏi bảng không có pk hoặc id hoặc các cột duy nhất trong mysql

Thêm một chỉ mục duy nhất (với tất cả các cột của bảng) với ALTER IGNORE sẽ loại bỏ các bản sao:

ALTER IGNORE TABLE table_name
  ADD UNIQUE INDEX all_columns_uq
    (phone, address, name, cellphone) ;

Đã kiểm tra trong SQL-Fiddle .

Lưu ý:Trong phiên bản 5.5 (do một lỗi trong quá trình triển khai tạo chỉ mục nhanh), phần trên sẽ chỉ hoạt động nếu bạn cung cấp cài đặt này trước ALTER :

SET SESSION old_alter_table=1 ;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql chọn tổng nhóm theo ngày

  2. JSON_VALUE () trong MySQL

  3. MySQL - Cách chèn vào nhiều bảng bằng khóa ngoại

  4. Làm thế nào để xử lý đúng cách các deadlock InnoDB trong Java / JDBC?

  5. NHibernate IPreUpdateEventListener, IPreInsertEventListener không lưu vào DB