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

ID univoco, imprevedibile, a 12 cifre, intero

Usa una concatenazione di un numero incrementato univoco e un numero generato casualmente.

Il numero unico incrementato assicura che il risultato sia unico e il numero generato casualmente lo rende difficilmente intuibile.

Questo è semplice e garantito per nessuna collisione (1). Il risultato è incrementale , in parte casuale e non prevedibile (a condizione che la parte del numero casuale sia generata con un buon PRNG).

(1):Devi inserire id e random con zeri, o per separarli con qualche carattere non numerico.

Con un db MySQL, questo si traduce in:

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