mysql的Outofrangevalueforcolumn错误解决
最近刚跳槽到⼀个新单位,刚去第⼀天屁股还没坐热,甚⾄连⼊职⼿续都还没办好就先给我⼀个任务,让我尽快解决掉。
说是⼀个插⼊订单的时候插⼊报错了,跟踪代码最后发现是插⼊的时候数据库报Out of range value for id这个错误,由于这是第⼀次在项⽬中使⽤mysql,所以很多对mysql的问题更多还是依赖⽹上搜索。
根据字⾯意思是超出列最⼤范围,百度搜索,很多⼈都是说什么加⼤字段长度,可仔细⼀看超出范围的那⼀列是int类型,这怎么加长,int类型的最⼤范围都是固定的,所以加⼤长度⾏不通,后来将插⼊的sql语句调出来,发现id那⼀列使⽤的是last_insert_id(id)这个函数来解决的,会不会是这个产⽣的问题,⼜继续查这个函数是⼲嘛的,发现也不是这个函数产⽣的问题。
后来仔细看ddl,发现id⾃动是⾃增的,但是id那⼀列最⼤的才2000多,怎么可能超范围呢,各种可能的解决办法都试过⼀次后觉得问题应该还是出在⾃增那的问题,查查这个⾃增到底是怎么回事把。
后来使⽤show create table xxx命令后查看到id列的 auto_increament=4294967296了,哦原来问题出在这⾥了,⾃增列的起始值已经到了int类型的最⼤值,在插⼊的时候肯定是超出范围了,果断ALTER TABLE xxx AUTO_INCREMENT = 100,从100开始继续新增后,问题解决。
mysql下载失败怎么办
有时候遇到相同的错误可能原因并不⼀样,需要具体分析,当⽹上没有能解决⾃⼰问题的时候就要从⾃⾝问题,从最开始的时候下⼿,反⽽更能解决问题。另外吐槽⼀下百度,Out of range value for column这个关键字可能前⼏页的问题都⼀样,解决思路可能也都是互相抄袭。所以能的还是把

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。