przypisanie pierwszego wolnego numeru

0

Witam, chciałbym popbrać pierwszy wolny numer zmiany (ChangeNumber).
Dotychczas działałem w ten sposób, że pobierałem z baczy danych wszystkie aktywne numery zmian i próbowałem je jakoś porównać - niestety bez większego efektu:

$pytanieozmianynro = "select * from schedulesettings where ChangeStatus=1 order by ChangeNumber";
$wynikozmianynro = mysqli_query($mysql, $pytanieozmianynro) or die("Nieprawidłowe zapytanie");
$ilezmiananro = mysqli_num_rows($wynikozmianynro); 

for ($a=1; $a<=$ilezmiananro; $a++)
{

$wiersznro = mysqli_fetch_array($wynikozmianynro);
$changenr[$a]=$wiersznro["ChangeNumber"];
print $changenr[$a];

}

Proszę o pomoc, Pozdrawiam.

0

select max(ChangeNumber) from schedulesettings where ChangeStatus=1, ewentualnie select top 1 ChangeNumber from schedulesettings where ChangeStatus=1 order by ChangeNumber desc. ale - po co Ci to? pole powinno być typu identity i samo zwiększać swoją wartość, wtedy w danych do inserta nie podaje się tego numeru, baza sama go nadaje.

0

@ŁF: pierwszy wolny != największy

0

słuszna słuszność. nie mam pomysłu, jak to zrobić po stronie bazy danych, ale może jakaś próbka danych by pomogła mojej wenie.

0
SELECT t1.id+1 PierwszyWolny FROM tabela t1 LEFT JOIN tabela t2 ON t1.id=t2.id+1 WHERE t2.id IS  NULL

1 użytkowników online, w tym zalogowanych: 0, gości: 1