Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: MySQL autoincrement
Forum PHP.pl > Forum > Przedszkole
slash^
Czy da sie przed wysłaniem zapytania dodającego do tabeli rekordu sprawdzić jaki będzie on miał ID?
cichy
mysql_insert_id()

Pozdro
kszychu
Nie da się*. Ale da się to sprawdzić tuż po.

*) częściowo się da, tzn możesz sprawdzić najwyższe dostępne id w bazie i wnioskować, że to teraz dodane będzie o 1 większe. Zadziała w 99 przypadkach na 100. Nie zadziała w przypadku podanym w przykładzie:
jest 76 rekordow, id ostatniego to 76
dodajemy jedden, jego id to 77
usuwamy ten o id 77
sprawdzamy max(id), wynosi ono 76
dodajemy rekord, jego id to 78 a nie 77.
cichy
kszychu tak ale tylko w przypadku gdy masz ustawiony autoincrement.
Jeśli sprawdzasz sam to wszysdtko będzie w porządku winksmiley.jpg

Pozdro
kszychu
Cytat(cichy @ 2004-06-24 10:49:35)
kszychu tak ale tylko w przypadku gdy masz ustawiony autoincrement.
Jeśli sprawdzasz sam to wszysdtko będzie w porządku winksmiley.jpg

Pozdro

A jaki jest temat wątku?.. winksmiley.jpg
slash^
Dzięki za pomoc. A mam jeszcze jedno pytanko: czy da się ustawić wartość następnego autoincrement?

np.
mam tabele a w niej id (od 1 do 20) usunąłem (od 15 do 20) i następny i tak będzie 21, a jak zrobić, aby był 15?
kicaj
Cytat(kszychu @ 2004-06-24 11:46:56)
Nie da się

Jest mozliwe sprawdzenie nastepnego ID:
  1. <?php
  2. $query = &#092;"SHOW TABLE STATUS LIKE `table`\";
  3. $result = mysql_query( $query );
  4. $row = mysql_fetch_array( $result );
  5. $auto_increment = $row['Auto_increment'];
  6. ?>
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.