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

Làm cách nào để xóa tất cả các bản ghi trùng lặp trong bảng MySQL mà không có bảng tạm thời

Thêm Chỉ mục duy nhất trên bàn của bạn:

ALTER IGNORE TABLE `TableA`   
ADD UNIQUE INDEX (`member_id`, `quiz_num`, `question_num`, `answer_num`);

Một cách khác để làm điều này sẽ là:

Thêm khóa chính vào bảng của bạn, sau đó bạn có thể dễ dàng xóa các bản sao khỏi bảng của mình bằng cách sử dụng truy vấn sau:

DELETE FROM member  
WHERE id IN (SELECT * 
             FROM (SELECT id FROM member 
                   GROUP BY member_id, quiz_num, question_num, answer_num HAVING (COUNT(*) > 1)
                  ) AS A
            );


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách nhập tệp CSV vào bảng MySQL

  2. Kiểm tra xem bảng MySQL có tồn tại mà không sử dụng cú pháp select from hay không?

  3. Cách sao lưu / xuất cơ sở dữ liệu MySQL bằng PHP

  4. Cách cài đặt MySQL với phpMyAdmin trên Debian 7

  5. Làm cách nào để nhập tệp CSV vào bảng MySQL?