数据中int类型不能设置长度

新手上路,请多包涵

image.png
里面添加的是电话号码,但是类型是int,后端报出 Overflow: numeric value (13098765328) out of range of Integer (-2147483648 - 2147483647)这个需要怎么解决呀

阅读 5.4k
4 个回答

手机号码用varchar
用bigint虽然也够用,但是万一有加个分隔符之类的需求就完蛋了

电话号码建议使用varchar字符串类型存储, int类型都是32位,能存储的数字大小有限制的,跟你设置长度没关系

你自己看提示Overflow: numeric value (13098765328) out of range of Integer (-2147483648 - 2147483647)
命名这里提示了你int数据能存下的int数据的最大值和最小值,你再看你手机号码是多大的数据,能存下吗?显然不能。如果你想把手机号存为int类型的话就用bigint吧,bigint支持20位的整形数值,显然11位手机号够用。
不过,我们手机号都是存位char或者varchar。

使用Long类型代替即可
java
image.png
数据库
BigInt
推荐使用BigInt,因为查询比VarChar快

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题