Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL]Usuwanie dublowanych email z MySQL.
Giluś
post
Post #1





Grupa: Zarejestrowani
Postów: 377
Pomógł: 9
Dołączył: 2.11.2010

Ostrzeżenie: (0%)
-----


Cześć, mam bazę MySQL gdzie jest ~2k użytkowników i chciałbym teraz sprawdzić czy któreś się powtarzają np.:

ID|Email|name|hash
1|ddd@o2.pl|ddd|dddd
2|ddd@o2.pl|cos|cos2
3|ddd2@o2.pl|cos|cos2
4|ddd@o2.pl|cos|cos2
.....
400|cos2@gmail.pl|222|553
753|cos2@gmail.pl|111|333


I teraz widzimy, że ID o numerze 1, 2, 4 oraz 400 i 753 się powtórzyły (takie sam email) jak teraz wykonać aby przeskanować wszystkie wyniki z mysql i te które się powtórzyły usunąć, te powtórzenia nie muszą być tak blisko siebie, mogą być o ID=1 a drugi o ID=224..


Na ogół stworzenie pętli oraz usuwanie wyników z mysql potrafię, ale nie wiem jak zrobić to z tym czy jakieś wyniki się powtórzyły..


Pozdrawiam i z góry bardzo dziękuje.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
adek-
post
Post #2





Grupa: Zarejestrowani
Postów: 124
Pomógł: 2
Dołączył: 19.04.2007
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


Spróbuj tego wrzucając poprzez zapytanie SQL w phpMyAdminie - oczywiście zrób kopię bazy w razie czego, aczkolwiek wpis działa na 100%

będzie sprawdzał zduplikowane rekordy Email i zostawi ten który jest o najmniejszym ID, oczywiście jeśli chcesz po czymś innym sprawdzać to też nie ma problemu.
  1. DELETE n1 FROM twojaNazwaBazy n1, twojaNazwaBazy n2 WHERE n1.ID > n2.ID AND n1.Email= n2.Email


ewentualnie jeśli chcesz aby sprawdzał dwa warunki, czyli gdy będzie użytkownik o tym samym name i Email taki w obu rekordach to dodaj tylko jeszcze jeden AND na końcu
  1. AND n1.name= n2.name


i dodaj sobie wartość unique na któryś z rekordów, nie będą się tworzyły takie same wpisy..

Ten post edytował adek- 19.01.2013, 11:31:09
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.12.2025 - 05:02