Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zdublowane rekordy
Forum PHP.pl > Forum > Bazy danych > MySQL
Chrom
Witam,
potrzebuję sprawdzić czy w odpowiedniej kolumnie bazy danych nie znajdują się dwa takie same rekordy czy jest jakaś funkcja która może to sprawdzić a może ktoś dysponuje skryptem?
Podrawiam
mysz
Cytat(Chrom @ 22.02.2007, 19:54:10 ) *
potrzebuję sprawdzić czy w odpowiedniej kolumnie bazy danych nie znajdują się dwa takie same rekordy czy jest jakaś funkcja która może to sprawdzić a może ktoś dysponuje skryptem?


Pobierz ilość rekordów spełniających Twój warunek.
frickle
Ha. Tyle że wygląda na to że chłopina nie zna warunku tylko chce sprawdzić. No cóż. nie przychodzi w tej sytuacji jedno tylko rozwiązanie. Pobrać wszystkie rekordy, a potem w pętli sprawdzać dla pierwszego: od drugiego do końca, dla drugiego, od trzeciego do końca czy są identyczne i tak aż dojdziesz do przedostatniego dla którego sprawdzisz identyczność z ostatnim.

tak na biegu to mi coś takiego wychodzi:
  1. <?php
  2. $query = 'select * from tabela'
  3. $wynik = mysql_query($qury,$baza);
  4. $ile = mysql_num_rows($wynik);
  5. for($i=1;$i<=$ile;$i++)
  6.  {
  7. $rekord = mysql_fetch_asoc($wynik);
  8. $query2 = 'select id from tabela where id='.$rekord['id'].' and ..(powtarzasz dla każdego pola ten warunek.. limit '.$i+1.','.$ile-$i;
  9. $wynik2 = mysql_query($query2,$baza);
  10. $ile2 = mysql_num_rows($wynik);
  11. ... tutaj jeżeli $ile2 > 0 to coś z tym robisz, zapisujesz w tabeli id rekordu który się powtarza albo co
  12. }
  13. ?>
Chrom
Dzięki zaraz sprawdzę
Jest ok małe literówki i niewielka modyfikacja
dzieki za pomoc
kwiateusz
zadałem raz takie samo pytanie może Ci ono pomoże smile.gif

http://forum.php.pl/index.php?showtopic=49939
Chrom
Super dzieki za zainteresowanie
bendi
  1. SELECT nazwa_kolumny FROM nazwa_tabeli GROUP BY nazwa_kolumny HAVING count(nazwa_kolumny)>1
prond
  1. SELECT
  2. count(*) - count(DISTINCT column_name)
  3. FROM my_table;


albo

  1. SELECT
  2. CASE
  3. WHEN count(*) - count(DISTINCT column_name) = 0 THEN false
  4. ELSE true END AS has_duplicates
  5. FROM my_table;
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.