PHP FAQ

Sprawdzenie Auto increment

pawkow

Często chcielibyśmy poznać id (przy założeniu, że to ono jest indeksem i ma wartość Auto_increment) jakie będzie miał rekord po dodaniu go do tabeli. Okazuje się, że jest to rzecz niewiarygodnie prosta, a kod ogranicza się do zaledwie trzech lini. Poniżej przedstawiam sposób na pobranie do zmiennej wartości pola Auto_increment z tabeli w bazie danych MySQL.

    $result = mysql_query('SHOW TABLE STATUS LIKE "nazwa_tabeli"');
    $row = mysql_fetch_assoc($result);
    $nazwa_tabeli_next_auto_increment = $row["Auto_increment"];

Teraz w zmiennej $nazwa_tabeli_next_auto_increment przechowujemy informację o następnej wartości Auto_increment. Krótko, ale na temat.

FAQ

5 komentarzy

zależy od tego co chcemy osiągnąć - ja potrzebowałem tego kodu, ięc rozwaliłem całego PHPMyAdmina, przeszukałem i mam :)

w pdo to jest
$db->lastInsertId();

Myśle że w wielu przypadkach wystarczy mysql_insert_id() jednak czasem trzeba ten drugi kod. Zależy od tego jakie informacje przechowuje tabela (od założeń projektanta)

mysql_insert_id() pokaże id ostatniego JUŻ wstawionego elementu, a nie jeszcze NIE wstawionego.

a nie prościej w jednej linijce - mysql_insert_id()?