SQL: Doppelte Zuganskennungen finden/löschen
Autor: Ralf v.d.Mark
eingetragen: Dienstag, 18. August 2020 um 16:53 Uhr (34/2020 Kalenderwoche)
geändert: Freitag, 28. August 2020 um 11:10 Uhr (35/2020 Kalenderwoche)
Keywords: doppelte passwort username benutzername
Kategorien: DB: MySQL, DB: PostgreSQL, DB: Oracle, DB: MariaDB,
Text:
Da in einer Datenbank eine nachträgliche Eindeutigkeit auf die Benutzerkennungen gewünscht war, sollte ein Unique-Index erstellt werden. Vorher musste man aber erstmal die Doppelten Zugangskennungen rausfinden und löschen.
siehe auch: "Doppelte Datenbank-Einträge anzeigen und löschen"
Quellcode:
-- Doppelten Zugangskennungen finden:
SELECT CONCAT(email, '##', passwort) AS zugangskenng,
COUNT(CONCAT(email, '##', passwort)) AS treffer,
GROUP_CONCAT(DISTINCT benutzer_id
ORDER BY benutzer_id DESC
SEPARATOR ",") AS keyss
FROM benutzer
WHERE LENGTH(email) > 0
AND LENGTH(passwort) > 0
GROUP BY zugangskenng
HAVING (treffer > 1)
ORDER BY treffer DESC;
-- 43 Datensätze sind mindestens 2 mal drin.
Doppelten Zugangskennungen löschen:
...