手机字段存储报错 :Warning Code : 1264 Out of range value for column ‘buyer_tpl’ at row 1

原址:  点击打开链接

手机字段存储报错 :Warning Code : 1264 Out of range value for column ‘buyer_tpl’ at row 1

手机字段存储报错 :Warning Code : 1264 Out of range value for column ‘buyer_tpl’ at row 1_第1张图片

手机字段存储报错 :Warning Code : 1264 Out of range value for column ‘buyer_tpl’ at row 1_第2张图片

我看到是 buyer_tpl int(13)  unsigned NOT NULL,就知道是怎么回事了,打开dev.mysql.com/doc,找到int的章节,截图发给他


手机字段存储报错 :Warning Code : 1264 Out of range value for column ‘buyer_tpl’ at row 1_第3张图片

手机号码作为数字的话,已经超过了unsigned的峰值4294967296了,给他2个建议

1  将int类型换成bigint

2 将int类型换成varchar(11)的。

他问我 :“ bigint  和 varchar 存数字哪个好? 就11位手机这种。“

我说:“一般用int主要是考虑运算计算以及状态值之类的,很少把包含具体业务意义的字段设置成int,时间戳这种,一般用datetime的,也可以设置成bigint,因为时间戳有涉及到计算的,手机字段一般用varchar居多的。”


你可能感兴趣的:(手机字段存储报错 :Warning Code : 1264 Out of range value for column ‘buyer_tpl’ at row 1)