«

»

ID następnego rekordu

Czasami mamy potrzebę, aby przewidzieć jaki będzie następny numer identyfikatora w danej tabeli. Sam całkiem niedawno szukałem odpowiedzi na pytanie, jak można poznać ID następnego rekordu, który dopiero będzie dodany do tabeli w bazie danych?

Załóżmy, że mamy własny system CMS, w którym napisaliśmy obsługę stron dodatkowych. Podczas dodawania rekordu do bazy danych z treścią danej podstrony, tytułem itp. dodajemy też do niej bezpośredni odnośnik. Właśnie w tej sytuacji musimy przewidzieć jaki będzie numer ID następnego rekordu. Poniżej krótki kod:

W pierwszej linii kodu wykonujemy zapytanie do bazy danych pytając o status konkretnej tabeli, w tym przypadku jest to str_info. SHOW TABLE STATUS LIKE pobiera takie opcje tabeli jak: Name, Engine, Version, Row_format, Rows, Avg_row_length, Data_length, Max_data_length, Index_length, Data_free, Auto_increment, Create_time, Update_time, Check_time, Collation, Checksum, Create_options, Comment

W drugim wierszu zapisujemy wynik do tablicy.

W trzeciej linii kodu przypisujemy wynik z pobranym numerem ID następnego rekordu do zmiennej $next.

Aby wyświetlić wynik wystarczy napisać: