sql >> Databasteknik >  >> RDS >> Mysql

Hur skapar man ett unikt slumpmässigt heltals-ID för primärnyckel för tabell?

Som svar på: "Eftersom jag vill använda det värdet för att koda till Base62 och sedan använda det för ett id i en url. Om jag ökar automatiskt kan det vara uppenbart för användaren hur url-id genereras."

Om säkerhet är ditt mål hjälper det inte att använda Base62, även med ett "slumpmässigt" genererat nummer.

Ett bättre alternativ skulle:

  • Uppfinn inte hjulet igen – använd AUTO_INCREMENT
  • Använd sedan en kryptografisk hashfunktion + en slumpmässigt genererad sträng (dold i db för just den webbadressen) för att generera det slutliga "unika id för den webbadressen"


  1. Använda Trace Flag 3226 för att undertrycka loggning av säkerhetskopiering

  2. JSON_SEARCH() – Hitta sökvägen till en sträng i ett JSON-dokument i MySQL

  3. NodeJS svarade MySQL-tidszonen är annorlunda när jag hämtar direkt från MySQL

  4. SQL Välj Distinkt