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

本文讨论了数据库设计中字段长度不足导致的问题,特别是在从存储ID转换为存储中文内容时遇到的挑战。当字段长度不足以容纳实际输入时,可能会导致字符截断及SQL语法错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值