Sprint
Erfahrenes Mitglied
Hallo zusammen,
ich habe hier zwar schon einiges zu dem Thema gefunden, aber mein Problem liegt etwas anders. Ich habe eine Tabelle, in die seit Jahren Logins der Kunden protokolliert werden. Dabei sind viele Einträge doppelt, da aus irgendeinem Grund die Login Versuche immer doppelt eingetragen wurden. Ich will da jetzt was umbauen und wollte einen Index auf die Tabelle legen. Das läßt der Server natürlich nicht zu, da doppelte Einträge vorhanden sind.
Jetzt wollte ich mit dieser Anweisung die doppelten Einträge finden bzw. löschen
Wenn ich das jetzt über PHPMyAdmin abschicke, bekomme ich nach einiger Zeit einen Fehler 504 und passiert ist scheinbar nichts. Die Tabelle hat etwas über 530.000 Einträge.
Gibt es eine bessere Möglichkeit, die doppelten Einträge zu löschen? Ich möchte ungern die Tabelle in kleine Pakete aufteilen und die dann bereinigen.
ich habe hier zwar schon einiges zu dem Thema gefunden, aber mein Problem liegt etwas anders. Ich habe eine Tabelle, in die seit Jahren Logins der Kunden protokolliert werden. Dabei sind viele Einträge doppelt, da aus irgendeinem Grund die Login Versuche immer doppelt eingetragen wurden. Ich will da jetzt was umbauen und wollte einen Index auf die Tabelle legen. Das läßt der Server natürlich nicht zu, da doppelte Einträge vorhanden sind.
Jetzt wollte ich mit dieser Anweisung die doppelten Einträge finden bzw. löschen
SQL:
SELECT zeit, email FROM logins WHERE EXISTS (
SELECT zeit FROM logins dbl WHERE logins.zeit = dbl.zeit AND logins.email = dbl.email
) ORDER BY email;
DELETE FROM logins WHERE EXISTS (
SELECT zeit FROM logins dbl WHERE logins.zeit = dbl.zeit AND logins.email = dbl.email
);
Wenn ich das jetzt über PHPMyAdmin abschicke, bekomme ich nach einiger Zeit einen Fehler 504 und passiert ist scheinbar nichts. Die Tabelle hat etwas über 530.000 Einträge.
Gibt es eine bessere Möglichkeit, die doppelten Einträge zu löschen? Ich möchte ungern die Tabelle in kleine Pakete aufteilen und die dann bereinigen.