Autor Zpráva
Mch81
Profil
Zdravim,

chtel bych se zeptat na vase zkusenosti, potrebuju vytvorit unikatni retezec, ktery se bude ukladat do db, nechci, aby se stalo, ze 2 zaznamy budou mit toto cislo stejne a take nechci kontrolovat dotazy do databaze, zda uz cislo existuje. Je lepsi pouzit uniqid() nebo to poskladat z casu IP atd. diky za rady
Joker
Profil
Mch81:
K čemu to má sloužit? Nestačí místo "unikátního čísla pro každý záznam" použít ID záznamu (primární klíč)?
Případně pokud by to mělo být delší, tak něco jako microtime + ID záznamu?
Mch81
Profil
no jenom ID pomoci autoincrement nechci, chtel bych tak 12ti mistny retezec cisel a znaku, nahodne generovany, ale zaroven unikatni.
Joker
Profil
Mch81:
chtel bych tak 12ti mistny retezec cisel a znaku, nahodne generovany, ale zaroven unikatni.
Úplně náhodně?
Takže by nestačilo něco jako třeba sloučit ID s microtime(), vyhodit mezeru a oříznout na 12 znaků?

Jestli to má být úplně náhodné, šlo by si vyrobit číselník.
Například tabulku: cislo | pouzite
Do tabulky by se pak nagenerovala spousta čísel a když by bylo potřeba nějaké vzít, zavolalo by se
SELECT cislo FROM tabulka WHERE pouzite IS NULL ORDER BY RAND() LIMIT 1

Získané číslo použiju a v číselníku mu nastavím, že už je použité.
Mch81
Profil
diky, dobre reseni, uz mam sice jine, ale pokud se mi nebude libit, tak ho pouziji

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: