Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]Jak pominąć rekordy zdublowane.
Forum PHP.pl > Forum > Przedszkole
Husarzyk
Witam,
potrzebuje połączyć bazy danych. W jaki sposób pominąć rekordy, które się powtarzają?
W tabeli users o tych samych rekordach username.
Otrzymuje komunikat:
#1062 - Duplicate entry 'przykladowynick' for key 'username'
galileox86
Z tego co piszesz a w zasadzie z tego co się domyślam to w tabeli docelowej masz zdefiniowaną unikalność na polu username i ten błąd pojawia Ci się podczas dodawania nowego rekordu do bazy w momencie kiedy istnieje już inny rekord o takiej samej nazwie.

Co możesz zrobić?

- Zdjąć unikalność na kluczu w tablicy docelowej
- Dodać jakiś prefix lub innego rodzaju element do treści która Ci się powatrza tak aby została stworzona nowa wartość może to być np. liczba która ulega inkrementacji czyli, nieunikalny_username_1



Możesz oczywiście jeszcze pobierać z tabeli źródłowej tylko elementy które się nie powatarzają, możesz to uzyskać za pomocą DISTINCT lub GROUP BY oto przykładowe zapytanie, ponieważ nie podajesz struktury to będzie strzał w ciemno.

  1. SELECT DISTINCT username FROM source_user_table;


albo

  1. SELECT username FROM source_user_table GROUP BY username
Comandeer
Hm… a INSERT IGNORE/… ON DUPLICATE KEY UPDATE?
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.