Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Eindeutige, unvorhersehbare, 12-stellige, ganzzahlige ID

Verwenden Sie eine Verkettung einer eindeutigen inkrementierten Zahl und einer zufällig generierten Zahl.

Die eindeutige inkrementierte Zahl stellt sicher, dass das Ergebnis eindeutig ist, und die zufällig generierte Zahl macht es kaum zu erraten.

Das ist einfach und garantiert keine Kollision (1). Das Ergebnis ist inkrementell , teilweise zufällig und nicht vorhersehbar (vorausgesetzt, dass der Zufallszahlenteil mit einem guten PRNG generiert wird).

(1):Sie müssen entweder id auffüllen und random mit Nullen oder um sie mit einem nicht-stelligen Zeichen zu trennen.

Bei einer MySQL-Datenbank bedeutet dies:

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