YashanDB|使用触发器复制 varchar(4000 char) 数据出现乱码问题的处理方案
问题描述某用户在通过触发器将表 A 中 varchar(4000 char) 字段的数据复制到表 B 时,发现表 B 中对应字段的内容变成了乱码,与原始数据不一致。

风险与影响数据完整性受到破坏,可能导致业务系统中的逻辑判断失效或数据异常。
影响范围该问题存在于所有 YashanDB 版本中。
原因分析 YashanDB 在处理触发器逻辑时,对于 varchar(4000 char) 类型字段的数据复制存在内部处理缺陷,导致编码异常,从而产生乱码。
解决与规避方式建议将字段长度缩小至 varchar(2000 char) 或更小,以避免触发该问题。此为目前有效的规避手段。
复现测试示例可以用以下 SQL 代码重现该问题:
复制代码
观察 B 表中对应记录是否正常即可判断是否存在乱码问题。
评论