问题:

mysql迁移到达梦数据库报错:列[xx]长度超出定义

原因:

经查发现是因为达梦数据库以字节为单位。若是 gb18030 字符集,varchar(2) 才可以存一个汉字;若是 UTF-8 字符集,varchar(3) 才可以存一个汉字。

解决方法:

报错字段少,只需将出错的字段长度改大即可导入成功。

报错的字段多,需要重新初始化达梦数据库实例,在“初始化参数”中,勾选“VARCHAR类型以字符为单位”。

【截止博文发布日期,新版本的DM8初始化时删去了此选项,请选择2024年1月及其之前的版本】

初始化实例之后,重新导入数据库均没有报错。

Logo

一站式 AI 云服务平台

更多推荐