Autor Zpráva
kachnak
Profil
Zdravím mám taký problém, že raz za čas sa stane ak dvaja rôzny ľudia naraz (približne v tú istú sekudnu) odošlú správu v knihe návštev, tak obom správam priradí systém rovnaké ID.
Po odoslaní formulára sa načíta najvačšie ID z databázy, zväčší sa o 1 a uloží správu do databázy.
Dá sa to nejak ošetriť? je to veľmi nepravdepodobné ale pár krát sa mi to už stalo.
To museli asi v tej istej stotine kliknúť. Náhoda strašná.
David Klouček
Profil
Běžně se nastavuje sloupci s ID auto_increment a primary key a databáze sama při vložení nového řádku inkrementuje ID, takže se nemusíš o nic starat.
kachnak
Profil
no to ma už napadlo, lenže napríklad musím toto ID zapísať do rôznych tabuliek alebo vytvoriť adresár s týmto ID (ak sa jedná o fórum) tak to by som potom nevedel ako sa má adresár volať.

Ma napadla taká možnosť že po uložení ID do databázy by bola kontrola ktorá zistí či je tam rovnaké ID a ak áno tak by sa zväčšilo to moje o jedno a upravilo sa v databáze na väčšie. A hneď by sa aj premenoval vytvorený adresár na servery. Len to je asi nekonečný príbeh, kedže už počas kontroly by mohol pribudnúť ďaľší príspevok.
Someone
Profil
http://cz2.php.net/manual/en/function.mysql-insert-id.php
David Klouček
Profil
kachnak:
ID z posledního insertu zjistíš pomocí mysql_insert_id().
kachnak
Profil
díky hoši idem na to :)
kachnak
Profil
POMOOC
dal som omylom do databázy ID číslo 9999999 a teraz sa všetky príspevky číslujú (zvyšujú) od tohto čísla a nie od čísla 2536, ktoré bolo posledné najväčšie v databáze.
Ako to vrátim späť?

skúšal som aj zrušiť primary key ale on si to niekde pamatá :(
David Klouček
Profil
ALTER TABLE tabulka AUTO_INCREMENT = 2536;

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:

0