Baza modelek Glamour Models: Modelki, Fotomodelki, Hostessy

czwartek, 9 lutego 2012

Jak dodać unikalny ciąg znaków do rekordu w bazie danych

Pokażę sposób na wstawienie unikalnego ciągu znaków do tabeli w bazie danych.

Załóżmy, że mamy taką tabelę:
user
---------------------
id INT PRIMARY KEY AUTO_INCREMENT
hash VARCHAR DEFAULT NULL
data TEXT
gdzie id jest kluczem głównym, zatem indeksem unikalnym,
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