字段长度小,存储了汉字的一半

都设计过数据库,里面的字段也都接触过,设计时没有考虑周全,或者由于实际需求的变更,很多字段的使用会发生一些变化,比如它的长度。有时候是存储id值,但是由于各种原因,实际没用上,后来又用来存储中文了。一连串的变化,让你立马头晕。后期很隐蔽的问题慢慢就来了。

首先 是varchar长度是30,这个存储id没有问题,后来要存储中文,也即实际需求有变化,很明显,30的长度不够的,可是我们可能很少注意到。于是,真正存储时,可能发生字符截取的情况,假定字段值来自于excel模板(有些poi只能读取2003的),填写的内容超过30个汉字,截取的内容可能是一个中文表示的一半。所以最后读取出来会带有?,再在做insert语句拼接的时候,容易出现少单引号的问题,导致拼接的sql语法不正确,最终也就无法执行了

猜你喜欢

转载自zengshaotao.iteye.com/blog/2317725
今日推荐