Vis*_*kia 49 java mysql phone-number digit
我在我的Web应用程序中使用带有Spring JDBC模板的MySQL.我需要存储只有数字(10)的电话号码.我对使用数据类型的数据类型有点困惑.
ind*_*ble 57
字符串和VARCHAR.
请勿尝试将电话号码存储为实际号码.它会破坏格式,删除前面的0s和其他不受欢迎的东西.
如果您选择,您可以将用户输入限制为仅数值,但即使在这种情况下,也可以将支持持久数据保留为字符/字符串而不是数字.
在尝试实施任何类型的长度限制,验证或掩码(例如XXX-XXXX-XX)之前,请注意更广泛的世界以及它们的数字长度和格式如何不同.
非数字字符在电话号码中有效.一个典型的例子是+作为00国际号码开头的替代品.
在评论中的对话中编辑:
Irs*_*han 13
在MySQL中 - > INT(10)不是指10位数字,它表示显示宽度为10位的整数.MySQL中INT的最大值是2147483647(如果是无符号,则为4294967295).
您可以使用BIGINT而不是INT将其存储为数字.使用BIGINT将在VARCHAR(10)上每行节省3个字节.
如果要分别存储"国家/地区+号码".尝试使用VARCHAR(20).这使您能够在需要时正确存储国际电话号码.