Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Qual é o melhor tipo de dados para número de telefone no MySQL e qual deve ser o mapeamento de tipo Java para ele?


Strings e VARCHAR.

  • Não tente armazenar números de telefone como números reais. vai estragar a formatação, remova o 0 anterior s e outras coisas indesejáveis.

  • Você pode, se desejar, restringir as entradas do usuário a apenas valores numéricos, mas mesmo nesse caso, mantenha seus dados persistentes de apoio como caracteres/strings e não números.

  • Esteja ciente do mundo mais amplo e como seus comprimentos de número e formatação diferem antes de tentar implementar qualquer tipo de restrição de comprimento, validações ou máscaras (por exemplo, XXX-XXXX-XX).

  • Caracteres não numéricos podem ser válidos em números de telefone. Um excelente exemplo sendo + como substituto para 00 no início de um número internacional.

Editado da conversa nos comentários:
  • É um dos maiores erros de interface do usuário que os números de telefone tenham algo a ver com números. É muito melhor pensar e tratá-los como endereços, é mais próximo do que eles realmente são e representam do que "números" de telefone.