Autor Zpráva
avaster
Profil
existuje nejaka funkcia/sposob ako zistit v php hodnotu nasledovneho ID, kde ID je definovane pri vytvarani mysql tabulky takto:
ID INT(11) AUTO_INCREMENT
Nox
Profil
$table = mysql_fetch_assoc (mysql_query("SHOW TABLE STATUS LIKE 'tabulka'"));
$dalsi = $table["Auto_increment"];
AM_
Profil
možná by ti život usnadnila SQL funkce last_insert_id(), potažmo PHP alternativa mysql_insert_id() - vrátí ID posledního vloženého řádku - tj hodí se v případě, že vkládáš řádek a potřebuješ znát jeho ID, pokud je to tvůj případ.
Tyhle věci je obvykle dobré kombinovat se zamykáním tabulek pomocí LOCK nebo technik COMMIT, aby ti mezitím např. stejný skript spuštěný jiným uživatelem nevložil další záznam, který by last_insert_id změnil.
TomášK
Profil
AM_
Tyhle věci je obvykle dobré kombinovat se zamykáním tabulek pomocí LOCK nebo technik COMMIT, aby ti mezitím např. stejný skript spuštěný jiným uživatelem nevložil další záznam, který by last_insert_id změnil.

Dobrý zvyk to určitě je, ale nutné to není - hodnota se ukládá pro každé spojení s databází, tedy se nezmění když tam v průběhu tvého skriptu někdo další přidá záznam. Pokud skript vytváří své spojení s databází, bude to fungovat bezpečně.
"Using LAST_INSERT_ID() and AUTO_INCREMENT columns simultaneously from multiple clients is perfectly valid. Each client will receive the last inserted ID for the last statement that client executed. "
AM_
Profil
TomášK
Ok, to jsem nevěděl, to docela usnadní život :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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