Danke Fips, ja der Primärkey ist das einzige was sich ändert.
Select Distict funktioniert gut, aber wie kann ich dann die Doppelten Reihen mit dem Befehl entfernen?
Leider weiß ich nur wie man eine neue Tabelle erstellt mit Select Distinct. Entfernen ist auch in deinem Bsp Link nicht enthalten.
Dein Ansatz funktioniert inhaltlich, ist aber bei Millionen von Einträgen extrem ineffizient. Das liegt vor allem daran, dass dein DELETE mit einem IN (SELECT …) auf der gleichen Tabelle läuft – die Datenbank muss also quasi alles in der Tabelle scannen und mehrfach prüfen.
Es gibt effizientere Methoden, um doppelte URLs zu löschen, z. B. über JOIN oder temporäre Tabellen.
Hier mal ein Ansatz mit DELETE und JOIN:
DELETE t1
FROM table t1
INNER JOIN table t2
ON t1.url = t2.url AND t1.id > t2.id;