Dyl*_*SUN 48 mysql types phone-number street-address
我想在表格中输入电话号码,包括国家代码,分机号码
create table if not exists employee(    `   
      country_code_tel   int(11),
      tel_number         int(10),
      extension          int(10),
      mobile             bigint(20)
);
如果tel_number大于15位,我可以使用哪种数据类型,我最好使用Bigint(20)?
create table address(
      address           varchar(255),  
      city              varchar(255),
      country           varchar(255),
      post_code         int(11)
);
例如,如果我有加拿大的国家代码,我可以使用+2或002.哪种处理更好?
谢谢你的建议.
o.k*_*k.w 66
好吧,我个人不使用数值数据类型来存储电话号码或相关信息.
你怎么存储一个数字说001234567?它最终会以1234567结束,失去领先的零.
当然,你总是可以把它填上,但是这可以让你确切地知道这个数字应该是多少位数.
这不能回答你的整个帖子,
只是我的2美分
Vin*_*nie 47
实际上你可以使用varchar作为电话号码.您不需要int,因为您不会对数字执行算术运算.
Dan*_*lly 31
并将其作为两个字段的电话号码-一个"数字"和"面具"的TinyText类型不需要超过255项.
在我们存储文件之前,我们解析电话号码以获取已使用的格式并创建掩码,然后我们仅将数字存储为数字,例如
输入:   (0123) 456 7890
数字:01234567890
面具:   (nnnn)_nnn_nnnn
从理论上讲,这允许我们在Number字段上执行比较搜索,例如获取以特定区号开头的所有电话号码,而不必担心用户输入的是什么
小智 24
我通常将电话号码存储为E164格式的BIGINT.
E164永远不会以0开头,前几位是国家代码.
+441234567890
+44 (0)1234 567890
01234 567890
等等将被存储为441234567890.