Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql] dodawanie id
Forum PHP.pl > Forum > Bazy danych
daggi
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
wookieb
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...
Shili
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?
dymsza
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
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.