sql >> Base de Datos >  >> RDS >> Mysql

Único, impredecible, 12 dígitos, id entero

Utilice una concatenación de un número incrementado único y un número generado aleatoriamente.

El número incrementado único garantiza que el resultado sea único, y el número generado aleatoriamente lo hace difícilmente adivinable.

Esto es sencillo y garantizado para tener no colisión (1). El resultado es incremental , parcialmente aleatorio y no predecible (siempre que la parte del número aleatorio se genere con un buen PRNG).

(1):Tienes que rellenar id y random con ceros, o para separarlos con algún carácter que no sea un dígito.

Con una base de datos MySQL, esto se traduce en:

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