MySQL迁移(B模式)后,更新数据报 data too long,但客户端执行 SQL 正常

【背景】
使用 portal 工具将 MySQL 数据库一键迁移至 openGauss,目标数据库为 B 兼容模式

【问题现象】
在 Spring Boot 应用中执行 update 操作时,数据库报错:data too long for column。
举例:从表中查询一条数据,name=’xxxxxxx’。当我update时(name值未变,和db查询是一样的结果)

jdbc驱动,数据库版本均为6.0.2

同一条 SQL 复制到 openGauss 客户端(如 gsql / Navicat)中直接执行则没有问题。

【排查过程】
初步排除 SQL 语法问题后,查阅 openGauss 官方文档发现:

  • varchar(n) 中的 n 表示 字节长度,而非字符长度

  • 与 MySQL 中 varchar(n)(按字符数理解)存在差异

【疑问】
在 MySQL 迁移到 openGauss(B 兼容模式)后,除了放大varchar长度(感觉违背了一键迁移的初衷),应用层面有什么适配的方案吗?

已解决,数据库初始化字符集有问题