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