Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jaki jest najlepszy typ danych dla numeru telefonu w MySQL i jakie powinno być dla niego mapowanie typu Java?

Struny i VARCHAR.

  • Nie próbuj zapisywać numerów telefonów jako numerów rzeczywistych. zrujnuje to formatowanie, usuń poprzedzające 0 i inne niepożądane rzeczy.

  • Możesz, jeśli zdecydujesz się, ograniczyć dane wprowadzane przez użytkownika tylko do wartości liczbowych, ale nawet w takim przypadku zachowaj utrwalone dane zapasowe w postaci znaków/ciągów, a nie liczb.

  • Zanim spróbujesz zaimplementować jakiekolwiek ograniczenia długości, walidacje lub maski (np. XXX-XXXX-XX), pamiętaj o szerszym świecie i o tym, jak różnią się długości liczb i formatowanie.

  • W numerach telefonów mogą obowiązywać znaki nieliczbowe. Doskonałym przykładem jest + jako zamiennik 00 na początku numeru międzynarodowego.

Edytowano z rozmowy w komentarzach:

  • Jest to jeden z większych błędów interfejsu użytkownika polegający na tym, że numery telefonów mają cokolwiek wspólnego z cyframi. O wiele lepiej jest myśleć o nich i traktować je jak adresy, jest to bliższe temu, czym w rzeczywistości są i reprezentują niż „numery” telefonów.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. RAW SQL Query z Zend Framework

  2. MySQL Group_Concat Powtarzające się wartości

  3. Zestaw znaków konfiguracyjnych CodeIgniter i obsługa UTF-8

  4. Jak mysql porządkuje wiersze o tej samej wartości?

  5. Argument powinien zawierać 1 kolumnę (-y