Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment créer un ID entier aléatoire unique pour la clé primaire de la table ?

En réponse à : "Parce que je veux utiliser cette valeur pour encoder en Base62, puis l'utiliser pour un identifiant dans une URL. Si j'incrémente automatiquement, il peut être évident pour l'utilisateur de savoir comment l'identifiant de l'URL est généré."

Si la sécurité est votre objectif, utiliser Base62, même avec un numéro généré "au hasard", ne vous aidera pas.

Une meilleure option serait :

  • Ne réinventez pas la roue :utilisez AUTO_INCREMENT
  • Utilisez ensuite une fonction de hachage cryptographique + une chaîne générée de manière aléatoire (cachée dans la base de données pour cette URL particulière) pour générer "l'identifiant unique final pour cette URL"