Out of range value for column ""


今天同事在初始化数据时,在初始手机号遇到如下报错

 

 

 我实体类的字段如下

@Column
@Comment("购车人手机号")
@ColDefine(type = ColType.VARCHAR, width = 20)
private String customerPhone;

插入的sql如下

ALTER TABLE `order_after_main`
ADD COLUMN `customerPhone`  int(32) NULL DEFAULT 0 COMMENT '购车人手机号' ;

此刻相信眼尖的同志已经发现原因了,原因即:我实体类的字段类型为vachar,而sql的类型为int,而初始化来的手机号为11位数字,而mysql int数据范围 是 -200000搜索0000 to 2000000000,11位的手机号显然已经超出int数据范围,故插数据时报了“超过数据范围”的错。

总结:首先我误写了sql,没有将sql的字段类型与实体类的字段类型对应,然后sql的字段类型又未满足数据范围长度,而我将sql中的数据类型改为vachaer,并给予32的长度问题即解决,总之,写sql一定要用心,工作不能马虎。检讨一下自己,切切之。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM