Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [mysql] dodawanie id
daggi
post
Post #1





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 28.02.2008

Ostrzeżenie: (20%)
X----


witam, mam problem z dodawaniem id do relacji.. mianowicie:
id | relacja
1 | ahafhsada
2 | agadewqe
3 | dsdasdaas

i usune relacje o numerze id 2 - i jak zrobić zeby nastepna dodana relacja miała ten numerek a nie w tym przypadku 4 ? zeby usunieta relacja o numerze id2 zastepowala nastepna dodana relacja
Go to the top of the page
+Quote Post
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Musisz wiedzieć jaka została ostatnia usunieta.
Poprostu przy zapytaniyu DELETE zapisujesz sobie (nawet a oddzielnej tabeli) jaki id zostal usuniety a potem go sobie dajesz do inserta.
Jezeli nie masz mozliwosci przechowania usunietego id to bedziesz musial wyliczyc wolne miejsce za pomoca PHP.
Pobierasz autoincrement tabeli (show table status like "tabela") i wszystkie id tabeli (select id from "tabela") i wybierasz wartosc ktora jest mniejsza od auto_increment i jest najnizsza mozliwa wartoscia do wstawienia (nie wystepuje w id tabeli).
Jak to zrobic? To tutaj sam sobie napiszesz...


--------------------
Go to the top of the page
+Quote Post
Shili
post
Post #3





Grupa: Zarejestrowani
Postów: 1 085
Pomógł: 231
Dołączył: 12.05.2008

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


Nie opłaca się. Po coś jest taki układ jaki jest (a jest na przykład dla zapewnienia integralności bazy danych). Poza doznaniami estetycznymi w czymś Ci to przeszkadza?
Go to the top of the page
+Quote Post
dymsza
post
Post #4





Grupa: Zarejestrowani
Postów: 62
Pomógł: 4
Dołączył: 24.08.2006

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


jest to do zrobienia ale zgadzam się że to bez sensu chyba że jest w tym jakiś ukryty głębszy sens

trzeba wyszukać wiesz z przeskokiem i wsadzić to pod zapytanie ale ogólnie jest to gruba luta więc odradzam. nie wiem czy to zadziała smile.gif

  1. INSERT INTO tabela (id,nazwa)
  2. VALUES ( (SELECT id + 1 FROM tabela AS t1 LEFT JOIN tabela AS t2 ON t1.id = t2.id + 1 WHERE NOT t1.id = t2.id + 1 LIMIT 0, 1 ), 'tra lal la')


napisz mi czy działa bo sam jestem ciekaw smile.gif
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 Aktualny czas: 19.08.2025 - 15:41