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

Wie erstelle ich eine eindeutige zufällige ganzzahlige ID für den Primärschlüssel für die Tabelle?

Als Antwort auf: „Weil ich diesen Wert verwenden möchte, um ihn in Base62 zu codieren und ihn dann für eine ID in einer URL zu verwenden. Wenn ich automatisch inkrementiere, könnte es für den Benutzer offensichtlich sein, wie die URL-ID generiert wird.“

Wenn Sicherheit Ihr Ziel ist, hilft die Verwendung von Base62 nicht einmal mit einer "zufällig" generierten Nummer.

Eine bessere Option wäre:

  • Erfinden Sie das Rad nicht neu – verwenden Sie AUTO_INCREMENT
  • Verwenden Sie dann eine kryptografische Hash-Funktion + eine zufällig generierte Zeichenfolge (in der Datenbank für diese bestimmte URL versteckt), um die endgültige "eindeutige ID für diese URL" zu generieren