Załóżmy, że mamy taką tabelę:
user --------------------- id INT PRIMARY KEY AUTO_INCREMENT hash VARCHAR DEFAULT NULL data TEXT |
hash ma być unikalnym ciągiem znaków - na początku niech posiada wartość NULL,
oraz data - jakieś dane.
// tworzymy hash o stałej ilości znaków, np. md5 ma 32 znaki // może się zdarzyć, że taki hash może nie być unikalny w bazie $hash = md5(time()); // insert do bazy danych i zwrócenie id rekordu $insert_id = $db->insert('user', array('data' => 'jakieś dane')); // dodajemy do wygenerowanego 32-znakowego ciągu id wprowadzonego rekordu // hash będzie unikalny, ponieważ $insert_id jest unikalne $hash = $hash . $insert_id; // teraz należy uaktualnić hash $db->update('user')->set(array('hash' => $hash))->where(array('id' => $insert_id)); |
Takie rozwiązanie pozwala na szybie i łatwe otrzymanie unikalnego stringu.
Brak komentarzy:
Prześlij komentarz