Löschen doppelter Zeilen in MySQL 5.0
Der bereitgestellte Code verwendet eine Unterabfrage, um doppelte IDs in der Beitragstabelle zu identifizieren und zu versuchen, sie zu löschen. Dieser Ansatz ist jedoch nicht mit MySQL 5.0 kompatibel. Um dieses Problem zu umgehen, müssen wir den Code ändern, um eine andere Syntax zu verwenden.
Umschreiben des Codes
Der überarbeitete Code zum Löschen doppelter Zeilen aus der Beitragstabelle lautet wie folgt:
DELETE FROM posts WHERE id IN ( SELECT id FROM ( SELECT id, COUNT(id) AS duplicate_count FROM posts GROUP BY id HAVING duplicate_count > 1 ) AS subquery )
Dieser Code verwendet eine verschachtelte Unterabfrage, um die doppelten IDs zu identifizieren. Die Unterabfrage gruppiert zunächst die Zeilen nach der ID-Spalte und zählt die Anzahl der Vorkommen jeder ID. Zeilen mit einer Duplikatanzahl größer als 1 werden dann ausgewählt und ihre IDs werden als Ergebnismenge zurückgegeben.
Die äußere Abfrage verwendet den IN-Operator, um die von der Unterabfrage zurückgegebenen IDs mit den IDs in der Beitragstabelle abzugleichen. Dadurch wird sichergestellt, dass nur doppelte Zeilen gelöscht werden.
Zusätzliche Hinweise
Das obige ist der detaillierte Inhalt vonWie lösche ich doppelte Zeilen in MySQL 5.0?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!