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

Quel est le meilleur type de données pour le numéro de téléphone dans MySQL et quel devrait être le mappage de type Java ?

Chaînes &VARCHAR.

  • N'essayez pas de stocker des numéros de téléphone sous forme de numéros réels. cela ruinera le formatage, supprimez le 0 précédent s et autres choses indésirables.

  • Vous pouvez, si vous le souhaitez, limiter les entrées de l'utilisateur aux seules valeurs numériques, mais même dans ce cas, conservez vos données persistantes de sauvegarde sous forme de caractères/chaînes et non de nombres.

  • Soyez conscient du monde au sens large et de la différence entre la longueur et la mise en forme de leurs nombres avant d'essayer d'implémenter des restrictions de longueur, des validations ou des masques (par exemple, XXX-XXXX-XX).

  • Les caractères non numériques peuvent être valides dans les numéros de téléphone. Un excellent exemple étant + en remplacement de 00 au début d'un numéro international.

Modifié à partir de la conversation dans les commentaires :

  • C'est l'une des plus grosses erreurs d'interface utilisateur que les numéros de téléphone aient quelque chose à voir avec les chiffres. Il est bien préférable de les considérer et de les traiter comme des adresses, c'est plus proche de ce qu'ils sont et représentent réellement que des "numéros" de téléphone