美文网首页
达梦数据库varchar字段长度不够用

达梦数据库varchar字段长度不够用

作者: ggcoder | 来源:发表于2024-06-09 22:13 被阅读0次

直接说答案:没别的办法,这个参数设置初始化后是无法修改的。只能重新初始化一个新的数据库,参数设置时勾选varchar类型以字符为单位,把原来的数据用DM数据迁移工具导到新的库里。

决定是按字符算还是按字节算

原因分析:正常情况下应用代码里的长度和数据库里设定的长度一样的情况下,内容是完全可以正常存进去的,因为代码里和数据库基本上都是按照字符长度计算的,但是达梦数据库的默认值并不是这样,他默认是按照字节长度计算的,所以同样是设定varchar(1000),在代码里截取1000个字符可能会存不进去,因为中文需要占用2(GBK)或3个(UTF8)字节,这就导致代码里的1000个字符没办法存到数据库中。
按照字符长度计算后,如果设定的是GBK编码达梦会自动留2倍长度,UTF8会自动留4倍长度(UTF8支持表情、占4个字节)。

可以通过查询语句确认你当前的参数设置:

SELECT NAME,VALUE   
FROM V$PARAMETER   
WHERE NAME = 'LENGTH_IN_CHAR';

相关文章

网友评论

      本文标题:达梦数据库varchar字段长度不够用

      本文链接:https://www.haomeiwen.com/subject/gafiqjtx.html