Autor Zpráva
Pavel Dumbrovský
Profil
Zdravím,
otázku jsem položil už v názvu, je možné v php skriptu zjistit tuto věc? Mám sloupec id který dostává číslo od auto increment. Potřebuji to když přidávám novinky - ke každé novince se nahrává obrázek tak aby měl v názvu stejné id. A jak víte, nelze spoléhat na posloupnost, protože nějakou novinku odstraním a to id už tam nikdy nebude, auto increment čísluje dál jakoby tam to id už bylo.
Díky za odpověd!
Kajman_
Profil *
Po insertu do novinek zjistíte id díky
http://cz2.php.net/manual/en/function.mysql-insert-id.php
Taps
Profil
Pavel Dumbrovský:
nešlo by to takto:
$dalsi_id=mysql_result(mysql_query("select id from tabulka order by id Desc limit 1"),0);
echo $dalši_id+1;
Pavel Dumbrovský
Profil
Děkuji za link - takže toto lze zjistit v průběhu skriptu jen po insertu, nejde to bez insertu jen tak? Asi to budu moct udělat i po insertu, ale mám trošku strach, aby se to moc nezpomalilo. Protože asi budu muset založit řádek, zjistit id a pak ho ještě znovu upravit..
Pavel Dumbrovský
Profil
Taps:
To si myslím že by nešlo, protože poslední id tam může být třeba 25 ale řádky 26 a 27 byly třeba vymazány, takže další id bude až 28..
Kajman_
Profil *
Insert a update zaručí správnou integritu. Pokud se mrknete, které id má následovat, ale před insertem bude jiný insert, máte špatné id.
Pavel Dumbrovský
Profil
Ok děkuji, takže insert + mysql_insert_id() + update je jediná správná možnost? Jen mě trochu překvapuje že neexistuje funkce která by zjistila, jaké další id sql přidělí.
Nox
Profil
pro libovolnou tabulku (ne jen tu do které si zrovna insertnul)
$r = mysql_fetch_array(mysql_query("SHOW TABLE STATUS LIKE 'tabulka' "));
$dalsi = $r['Auto_increment'];
Pavel Dumbrovský
Profil
Nox:
Děkuji pane!
Dyť sem řikal že něco takovýho musí existovat! :)

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0