![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 384 Pomógł: 13 Dołączył: 16.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Mam tabele w ktorej mam produkty, oraz tabele `unikalny_nr`, nie moge niestety jej zrobic unique, mam napisane w php pobieranie danych, upraszczajac:
Kod $produkty_unikalne = array(); foreach ($produkty as $produkty_){ if(in_array($produkty_['unikalny_nr'], $produkty_unikalne)){ $this->usun_produkt(); }else{ $produkty_unikalne[] = $produkty_['unikalny_nr'] } ... } produktow jest 200 tys i system nie daje rady, wiec zaczalem je grupowac i usuwac partiami np. po 100 ale wykonuje sie tak dlugo ze to nie ma sensu. W jaki sposob moge wyonac to w sql ? Potrzebuje zeby pierwszy produkt z tym samym unikalny_nr pozostal a wszystkie nastepne byly usuwane (to wazne zeby pierwszy zostawal) Ten post edytował Agape 7.04.2016, 11:07:54 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 114 Pomógł: 25 Dołączył: 22.11.2015 Ostrzeżenie: (0%) ![]() ![]() |
Dodajesz unikalne U_ID dla każdego rekordu (ALTER TABLE).
DELETE z warunkiem gdzie podzapytaniem, w którym wybierasz rekordy mające takie same wartości, ale mające większe U_ID (albo mniejsze, bez różnicy). Na sam koniec pozbywasz się U_ID. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 10:20 |