Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [SQL][MySQL]Wykrywanie duplikatów w danej komórce danych., Nie moge użyć indexu Unikue :/
starterrrrr
post 25.06.2015, 13:27:30
Post #1





Grupa: Zarejestrowani
Postów: 138
Pomógł: 0
Dołączył: 7.01.2015

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


Witam.

Potrzebuje sprawdzić, czy dana komórka bazy danych MySQL posiada duplikaty.

Szukałem na różnych blogach, ale nie ma żadnego dobrego sposobu dla bayz MySQl w pewnych przypadkach MySQl odrzuca zapytania.

Nie wiem czy moge tutaj umieścic linki do artykułów, które znalazłem.

Czy tkoś ma jakiś pomysł?

Potrzebuje w sumie informacje, że tak, są duplikaty wtedy blokuje użytkownikowi daną akcje.

Znalazłem np coś takiego:

  1. SELECT
  2. id, name, surname, phone, email
  3. FROM
  4. people
  5. WHERE
  6. EXISTS (
  7. SELECT
  8. NULL
  9. FROM
  10. people AS P
  11. WHERE
  12. people.name = P.name
  13. AND people.surname = P.surname
  14. AND people.phone = P.phone
  15. AND people.email = P.email
  16. GROUP BY
  17. P.name, P.surname, P.phone, P.email
  18. HAVING
  19. people.id < MAX(P.id)
  20. );
Go to the top of the page
+Quote Post
DarkAbso
post 25.06.2015, 14:25:28
Post #2





Grupa: Zarejestrowani
Postów: 60
Pomógł: 10
Dołączył: 17.11.2011

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


Poniżesz zapytanie pokazuje duplikaty tabeli.
  1. SELECT id, name, surname, phone, email , COUNT(id) AS licznik
  2. FROM people
  3. GROUP BY name, surname, phone, email
  4. HAVING licznik > 1

Nie do końca rozumiem z czym chcesz porównywać tabele. Czy chcesz sprawdzić czy dla danych parametrówi 'name, surname, phone, email' masz w bazie duplikaty, czy może posiadasz id rekordu i sprawdzasz czy jest dla niego duplikat?

Ten post edytował DarkAbso 25.06.2015, 14:27:04
Go to the top of the page
+Quote Post
starterrrrr
post 25.06.2015, 15:16:50
Post #3





Grupa: Zarejestrowani
Postów: 138
Pomógł: 0
Dołączył: 7.01.2015

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


Cytat(DarkAbso @ 25.06.2015, 15:25:28 ) *
Poniżesz zapytanie pokazuje duplikaty tabeli.
  1. SELECT id, name, surname, phone, email , COUNT(id) AS licznik
  2. FROM people
  3. GROUP BY name, surname, phone, email
  4. HAVING licznik > 1

Nie do końca rozumiem z czym chcesz porównywać tabele. Czy chcesz sprawdzić czy dla danych parametrówi 'name, surname, phone, email' masz w bazie duplikaty, czy może posiadasz id rekordu i sprawdzasz czy jest dla niego duplikat?



taki podałem przykłąd akurat, który znalazłem, ale potrzebuje w danym momencie sprawdzic tylko jedną komórke bazy np "name".
Sprawdze przykład, który podałeś.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 29.06.2025 - 22:17