Tôi có một bảng của các trò chơi, được mô tả như sau:Làm thế nào để xóa các bản sao trong bảng SQL dựa trên nhiều lĩnh vực
+---------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| date | date | NO | | NULL | |
| time | time | NO | | NULL | |
| hometeam_id | int(11) | NO | MUL | NULL | |
| awayteam_id | int(11) | NO | MUL | NULL | |
| locationcity | varchar(30) | NO | | NULL | |
| locationstate | varchar(20) | NO | | NULL | |
+---------------+-------------+------+-----+---------+----------------+
Nhưng mỗi trò chơi có một mục trùng lặp trong bảng một nơi nào đó, bởi vì mỗi trò chơi là trong lịch thi đấu cho hai đội. Có một câu lệnh sql tôi có thể sử dụng để xem xét và xóa tất cả các bản sao dựa trên các trường ngày, giờ, hometeam_id, awayteam_id, locationcity và locationstate giống hệt nhau không?
Tôi đã thử phiên bản được chọn này, và nó trông giống như những gì tôi muốn loại bỏ, nhưng khi tôi thực sự chạy nó với "xóa từ", nó đã ném một lỗi và nói với tôi "Mã lỗi: 1093. Bạn không thể chỉ định bảng mục tiêu 'trò chơi' để cập nhật trong mệnh đề FROM "Bất kỳ ý tưởng nào? – cfrederich
Hãy thử câu trả lời cập nhật, tôi đã thay thế EXISTS bằng INNER JOIN delete. Tôi nghĩ mysql có thể gặp sự cố với mệnh đề xóa và EXISTS. –