Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][SQL]Sprawdzenie wolnego ID, Mam np. 10 różnych ID w tabeli, i chcę pierwszy wolny z nich wyciągnąć
Weles
post
Post #1





Grupa: Zarejestrowani
Postów: 213
Pomógł: 0
Dołączył: 7.07.2011

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


Witam!

Mam pewien problem, gdyż muszę dostać pierwszy wolny ID z tabeli.

Tzn. mam np. w tabeli rekordy o takich id:

1
2
4
5
7

I chcę aby zapytanie znalazło mi pierwsze wolne ID w kolejności, czyli w tym przypadku '3' którego brakuje.

Jest możliwe takie zapytanie?
A jeśli tak to jak ono ma wyglądać?

Pozdrawiam!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Sephirus
post
Post #2





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


  1. SELECT t1.id + 1 AS FirstAvailableId
  2. FROM tabela t1
  3. LEFT JOIN tabela t2 ON t2.id = t1.id + 1
  4. WHERE t2.id IS NULL
  5. ORDER BY t1.id
  6. LIMIT 1


HTH (IMG:style_emoticons/default/wink.gif)

EDIT: Chciałbym jedynie zauważyć, że nie można temu ufać zbytnio - z tego względu, że nie ma się nad tym kontroli. Ktoś może w tym czasie zapisać coś pod danym numerem i wtedy mamy "klops"

Ten post edytował Sephirus 5.12.2012, 08:36:22
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 28.09.2025 - 04:33