mysql存储手机号

用mysql存储手机号的时候报错如下

Field error in object 'user' on field 'phone': rejected value [155xxxx1445]; codes [typeMismatch.user.phone,typeMismatch.phone,typeMismatch.java.lang.Integer,typeMismatch];

错误原因:
将user类中的phone属性定义为Integer类型,超出Integer的最大范围

正确做法:
将手机号定义为字符串,用 char(11) 来存储手机号码.

另外,如果确定是11位的可以用char,要是长度,格式不确定,比如带+86格式的手机号什么的,用varchar,长度设长一点,拓展性更好。

而且使用字符串可以对手机号码进行正则匹配,取号头啥的

你可能感兴趣的:(mysql存储手机号)