enregistrement de numéros que varchar
Est-il ok pour enregistrer des numéros comme varchar?
Quelle est la différence entre
int 123456789012
et varchar 123456789012
?
Vous devez vous connecter pour publier un commentaire.
Est-il ok pour enregistrer des numéros comme varchar?
Quelle est la différence entre
int 123456789012
et varchar 123456789012
?
Vous devez vous connecter pour publier un commentaire.
Non, c'est presque toujours une mauvaise idée.
Vous pouvez stocker des zéros à un varchar que vous ne pouvez pas faire avec les colonnes de type entier (par exemple. il est possible d'avoir une différence entre
123
et0000123
). Par exemple des codes postaux dans certains pays. Toutefois, si vous avez besoin de le faire, alors vous êtes vraiment affaire avec les informations textuelles qui devrait avoir une colonne de type varchar. Par exemple, des numéros de téléphone ou de codes postaux devriez certainement aller pour une colonne de type varchar.Sinon, si vous utilisez vos données telles que des numéros (les ajouter ensemble, en les comparant, etc.) ensuite, vous devez le mettre en colonne de type integer. Ils consomment beaucoup moins d'espace et sont plus rapides à utiliser.
Je pense est ok pour enregistrer des numéros que varchar, aussi longtemps que vous ne voulez pas faire des calcs avec elle.
Par exemple, un numéro de téléphone ou de codes postaux serait préférable de les stocker dans les champs varchar parce que vous pouvez mettre en forme.
Vous ne serez pas en mesure d'effectuer des calculs avec des colonnes déclaré que varchar, de sorte que les types numériques doivent être utilisés. Et depuis votre requête SQL est une chaîne de toute façon, MySQL ne la conversion pour vous (ce qui ne veut pas dire que vous n'avez pas besoin de validation de l'utilisateur fourni des valeurs, bien sûr).