Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL]Jak pominąć rekordy zdublowane.
Husarzyk
post 7.03.2016, 15:48:25
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 13.09.2009

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


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'
Go to the top of the page
+Quote Post
galileox86
post 7.03.2016, 16:34:35
Post #2





Grupa: Zarejestrowani
Postów: 59
Pomógł: 9
Dołączył: 16.06.2007
Skąd: Bytom

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


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


--------------------
Odpowiedziałem? Pewnie streamuję http://livecoding.tv/galileoprime.

Chcesz abym odpowiedział właśnie na Twoje pytanie? Napisz do mnie wiadomość prywatną, prócz odpowiedzi możesz zobaczyć jak rozwiązuję Twój problem.
Go to the top of the page
+Quote Post
Comandeer
post 7.03.2016, 18:44:53
Post #3





Grupa: Zarejestrowani
Postów: 1 268
Pomógł: 254
Dołączył: 11.06.2009
Skąd: Świętochłowice

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


Hm… a INSERT IGNORE/… ON DUPLICATE KEY UPDATE?

Ten post edytował Comandeer 7.03.2016, 18:46:19


--------------------
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: 13.07.2025 - 16:37