正式系统报了个bug,具体情况就是在保存一段数据的时候,保存不上,我们在测试走的没发现异常,然后和用户沟通,把他要保存的那段数据拿过来。
复现了这个bug。具体原因就是要保存的这个数据的字段设计长度为400,一直也没人填太长的信息。就一直没事,结果这一次这个用户填写的数据太
长了,超过了限制长度,所以就报错了。这个是个例,属于偶然情况,但是还是要避免这个情况的发生。
直接想到的解决办法就是增加字段的长度。下面就是SQL
---新增一列copy,将原来申诉理由这一列复制过去, alter table sec_comments add COMPLAINTREASON_copy varchar2(400); update sec_comments s set s.COMPLAINTREASON_copy = s.COMPLAINTREASON where s.COMPLAINTREASON is not null; ---修改原来申诉理由这一列的字段长度, -- 删除申诉理由这一列 alter table sec_comments drop column COMPLAINTREASON; -- 新增申诉理由这一列。将长度设置为2000 alter table sec_comments add COMPLAINTREASON varchar2(2000); ---将copy这一列的内容复制到新增的申诉理由这一列。 update sec_comments s set s.COMPLAINTREASON = s.COMPLAINTREASON_copy where s.COMPLAINTREASON_copy is not null; ----删除copy列 alter table sec_comments drop column COMPLAINTREASON_copy;