zoukankan      html  css  js  c++  java
  • 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一定要用心,工作不能马虎。检讨一下自己,切切之。

  • 相关阅读:
    为Internal页面添加一个Unit Test的运行入口
    使用 AWSTATS 来查看IIS/iisnode 日志
    用issnode+IIS来托管NodeJs Server之四:支持Debug
    Restify实践
    Mocha实践
    Graphite实战
    StatsD与Graphite联合作战
    单元测试
    NHibernate配置
    NHibernate概念
  • 原文地址:https://www.cnblogs.com/hedongfei/p/7802751.html
Copyright © 2011-2022 走看看