sql >> Database teknologi >  >> RDS >> Mysql

Unikt, uforudsigeligt, 12-cifret, heltals-id

Brug en sammenkædning af et unikt øget tal og et tilfældigt genereret tal.

Det unikke forhøjede tal sikrer, at resultatet er unikt, og det tilfældigt genererede tal gør det næppe gætteligt.

Dette er simpelt og med garanti ingen kollision (1). Resultatet er trinvist , delvist tilfældigt og ikke-forudsigelig (forudsat at den tilfældige tal del er genereret med en god PRNG).

(1):Du skal enten indtaste id og random med nuller, eller for at adskille dem med et ikke-cifret tegn.

Med en MySQL db oversættes dette til:

CREATE TABLE foo (
    id int not null auto_increment,
    random int not null,
    ...
    primary key (id)
);


  1. Kan php forespørge på resultaterne fra en tidligere forespørgsel?

  2. Brug af lagrede procedure-outputparametre i C#

  3. Hvad er MySQL's variable wait_timeout, net_read_timeout og net_write_timeout?

  4. 1130 Host 'amazon-ec2-ip' har ikke tilladelse til at oprette forbindelse til denne MySQL-server