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

Puis-je utiliser VARCHAR comme CLÉ PRIMAIRE ?

Bien sûr que vous le pouvez, dans le sens où votre SGBDR vous le permettra. La réponse à la question de savoir si vous devriez ou non faire est différent, cependant :dans la plupart des situations, les valeurs qui ont une signification en dehors de votre système de base de données ne doivent pas être choisi comme clé primaire.

Si vous savez que la valeur est unique dans le système que vous modélisez, il convient d'ajouter un index unique ou une contrainte unique à votre table. Cependant, votre clé primaire doit généralement être une valeur "sans signification", telle qu'un nombre auto-incrémenté ou un GUID.

La raison en est simple :des erreurs de saisie de données et des modifications peu fréquentes d'éléments qui semblent immuables se produisent. Ils deviennent beaucoup plus difficiles à fixer sur les valeurs utilisées comme clés primaires.