Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] Generowanie unikalnego identyfikatora (nie liczbowego)
Forum PHP.pl > Forum > Przedszkole
Agape
Mam przykladowa baze 40 tyś rekordow, do kazdego z rekordow musze wygenerowac unikalny identyfikator, np. f87g697d.
Zalozenia:
1. Id nie moze reprezentowac liczby rekordow w bazie
2. Musi byc jak najkrótszy (bedzie wystepowal w url).
3. Musi sie szybko generowac podczas dodawania do bazy
4. Musi byc unikalny

Pytanie jak najszybciej wygenerowac taki identyfikator jezeli do bazy kazdy z rekordow dodaje pojedynczo, jeden po drugim. Dodaje je jednorazowo ale zalezy mi na szybkosci zapytan, jak dam za duze nie zmieszcza sie w czasie dzialania skryptu inne funkcje. Oczwiscie moge skorzystac np. z UUID() ale to ni spelnia punktu 2
Niree
  1. //pobierasz id rekordu lub jakis identyfikator z mysql
  2.  
  3. echo substr(sha1($result['id']), 0, 4);


W miejscu "4" dajesz ilość wygenerowanych znaków.
trueblue
Może tak?
  1. SELECT CONV(UUID_SHORT(),10,36)


albo tak:
  1. SELECT CONV(UNIX_TIMESTAMP(),10,36)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.