我有一個遊戲的表,它被描述如下:在SQL表中如何刪除重複基於多個領域
+---------------+-------------+------+-----+---------+----------------+
| 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 | |
+---------------+-------------+------+-----+---------+----------------+
但每場比賽在表中重複條目的地方,因爲每場比賽是在兩隊的時間表中。是否有一個sql語句可用於查看並刪除基於相同日期,時間,hometeam_id,awayteam_id,locationcity和locationstate字段的所有重複項?
我嘗試了這個選擇版本,它看起來正是我想要擺脫的,但是當我用「刪除」實際運行它時,它拋出一個錯誤並告訴我「錯誤代碼:1093。無法在FROM子句中指定目標表'遊戲'進行更新「任何想法? – cfrederich
嘗試更新的答案,我用INNER JOIN刪除替換了EXISTS。我認爲mysql可能在刪除和EXISTS子句時遇到問題。 –