SQL: Doppelte Zuganskennungen finden/löschen

edit | delete

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:
...