Autor | Zpráva | ||
---|---|---|---|
Mch81 Profil |
#1 · Zasláno: 18. 9. 2009, 15:17:34
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 |
#2 · Zasláno: 18. 9. 2009, 15:27:43
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 |
#3 · Zasláno: 18. 9. 2009, 15:37:35
no jenom ID pomoci autoincrement nechci, chtel bych tak 12ti mistny retezec cisel a znaku, nahodne generovany, ale zaroven unikatni.
|
||
Joker Profil |
#4 · Zasláno: 18. 9. 2009, 16:06:51
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 |
#5 · Zasláno: 18. 9. 2009, 16:11:09
diky, dobre reseni, uz mam sice jine, ale pokud se mi nebude libit, tak ho pouziji
|
||
Časová prodleva: 15 let
|
0