|
PHP, JavaSCRIPT, PostgreSQL
JavaSCRIPT RAW bibliotekos demonstaracinė-testinė aplinka
ir kita, sukaupta per 15 metų, programavimo patirtis PostgreSQLID unikalių numerių generavimas nenuspėjamaiKartais ID numeris turi būti nenuspėjamas tai yra ne eilės tvarka. Tai tam kad netyčia nesuvestum kito numerio vien tik pakeitus vieną skaitmenį arba eilės tvarka negalėtų nuskanuoti visų, sakysim, darbuotojų Sugeneruotų numerių pavyzdys:
Žalioji dalis užtikrina unikalumą antroji pusė - nenuspėjamumą Sekos(SEQUENCE) scriptas:
CREATE SEQUENCE files_id_seq
START WITH 5000000000
INCREMENT BY 1000000
NO MINVALUE
NO MAXVALUE
CACHE 1;
select nextval('files_id_seq'::regclass)
+ trunc(random() * (998555 - 111555)::double precision + 111555::double precision)::bigint as id ;
-- atskirais atvejais galima ir taip:
CREATE TABLE files (
id bigint NOT NULL
default (nextval('files_id_seq'::regclass)
+ trunc(random() * (998555 - 111555)::double precision + 111555::double precision)::bigint)
primary key
-- ... kiti stulpeliai
)
* Svarbi salyga: „INCREMENT BY 1000000 “ reikšmė turi būti didesnė už atsitiktinio skaičiaus intervalo generavimą.
| ||||||||||||||||||||||||||||
Programavimas PHP, Javascript, PostgreSQL:
Tel.: +370 698 30482 [LT,RU], el. paštas: info@fromris.lt |