sql >> Databasteknik >  >> RDS >> Mysql

Unikt, oförutsägbart, 12-siffrigt heltals-id

Använd en sammanlänkning av ett unikt ökat nummer och ett slumpmässigt genererat nummer.

Det unika inkrementerade numret säkerställer att resultatet är unikt, och det slumpmässigt genererade numret gör det knappast gissningsbart.

Det här är enkelt och garanterat ingen kollision (1). Resultatet är inkrementellt , delvis slumpmässigt och icke förutsägbart (förutsatt att slumptalsdelen genereras med en bra PRNG).

(1):Du måste antingen fylla i id och random med nollor, eller för att separera dem med något icke-siffrigt tecken.

Med en MySQL db översätts detta till:

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


  1. Anslut MySql till Android utan att använda PHP

  2. PostgreSQL-arv med JPA, Hibernate

  3. Få följare på ett posteffektivt sätt i laravel 5.1

  4. Hur kan jag kombinera flera rader till en kommaavgränsad lista i SQL Server 2005?