广告位联系
返回顶部
分享到

mysql迁移达梦列长度超出定义的简单解决方法

Mysql 来源:互联网 作者:佚名 发布时间:2024-12-13 22:13:17 人浏览
摘要

一、问题概述 mysql迁移达梦遇到列长度超出定义,错误如下 造成此错误原因是达梦存放不下mysql迁移过来的字符串,在早期版本8.1.3.162之前,通过设置length_in_char=1来进行规避,但是这种方式实

一、问题概述

mysql迁移达梦遇到列长度超出定义,错误如下

造成此错误原因是达梦存放不下mysql迁移过来的字符串,在早期版本8.1.3.162之前,通过设置length_in_char=1来进行规避,但是这种方式实际上扩大了数据精度,造成能存放超过设置的长度的数据。

在8.1.3.162版本之后,取消了此参数,length_in_char无法设置 只能为0 ,因为达梦底层是以字节单位存储,mysql是以字符,通过迁移工具迁移到达梦会出现varchar char长度不够的问题。

二、解决办法

2.1、问题复现

length_in_char=0的情况下(新版本取消,此参数只能是0) 字符集UTF8情况下

比如 mysql varchar(10) 能存放10个中文 ,到达梦varchar(10)只能存放三个中文,UTF8字符集 一个中文占用三个字节。

但是可以通过 将varchar(10)修改成varchar(10 char)强制为字符存储,到达梦也能存放10个中文字符

2.2 迁移工具设置

在迁移工具中设置映射关系

第一步:设置数据类型映射

第二步:配置映射关系

在选择迁移对象界面查看表结构是否转换

第三步:开始迁移


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 :
相关文章
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计