为什么数据库 phone 字段不能为设为 int 类型?

今天遇到一个小bug。

问题:

    数据库字段中phone 类型为  int 20.

    然后将封装入参的 dto 对象中的 phone 字段改为 int.

    结果 前台传入的 11位字符串类型的数字无法转换为 int.

原因:

    因为 java 中和 mysql 中的 int 类型最大值是 2147483647存储长度为 32bit.

    所以范围是“-2^32”到“2^32-1”;也就是“-2147483648”到“2147483647”。

     而手机号为 11 位,超出了最大范围。



版权声明:本文为qq_38836118原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。