问题:

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

原因:

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

解决方法:

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

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

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

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

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐