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

 更新时间:2024年12月12日 10:59:30   作者:二两面  
这篇文章主要介绍了mysql迁移达梦列长度超出定义解决方法的相关资料,,在达梦数据库中,字符串长度的存储方式与MySQL不同,导致迁移过程中出现数据长度不足的错误,解决方法包括在MySQL中将varchar类型修改为varchar(10char)以强制字符存储,需要的朋友可以参考下

一、问题概述

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 迁移工具设置

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

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

第二步:配置映射关系

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

第三步:开始迁移

总结 

到此这篇关于mysql迁移达梦列长度超出定义解决方法的文章就介绍到这了,更多相关mysql迁移达梦列长度超出定义内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL 存储过程传参数实现where id in(1,2,3,...)示例

    MySQL 存储过程传参数实现where id in(1,2,3,...)示例

    一个MySQL 存储过程传参数的问题想实现例如筛选条件为:where id in(1,2,3,...),下面有个不错的示例,感兴趣的朋友可以参考下
    2013-10-10
  • 监听mysql表内容变化 mysql开启binlog

    监听mysql表内容变化 mysql开启binlog

    这篇文章主要给大家介绍了关于监听mysql表内容变化,mysql开启binlog的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用mysql具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-08-08
  • SQL查询超时的设置方法(关于timeout的处理)

    SQL查询超时的设置方法(关于timeout的处理)

    为了优化OceanBase的query timeout设置方式,特调研MySQL关于timeout的处理,下面与大家分享下处理记录,感兴趣的朋友可以参考下哈
    2013-04-04
  • MySQL如何创建触发器(CREATE TRIGGER)

    MySQL如何创建触发器(CREATE TRIGGER)

    这篇文章主要介绍了MySQL如何创建触发器(CREATE TRIGGER)问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • MySQL中的if和case语句使用总结

    MySQL中的if和case语句使用总结

    这篇文章主要介绍了MySQL中的if和case语句使用总结,本文讲解了IF语句作为表达式和流程控制语句使用实例,需要的朋友可以参考下
    2015-02-02
  • MySql 5.7.17 winx64的安装配置详细教程

    MySql 5.7.17 winx64的安装配置详细教程

    这篇文章主要介绍了MySql 5.7.17 winx64的安装配置教程,初始化数据库、配置相关信息的方法在本文中介绍的非常详细,需要的朋友参考下
    2017-01-01
  • mysql如何将sql查询的结果以百分比展示出来

    mysql如何将sql查询的结果以百分比展示出来

    这篇文章主要给大家介绍了关于mysql如何将sql查询的结果以百分比展示出来的相关资料,用到了MySQL字符串处理中的两个函数concat()和left()实现查询结果以百分比显示,需要的朋友可以参考下
    2023-08-08
  • MAC下MYSQL数据库密码忘记的解决办法

    MAC下MYSQL数据库密码忘记的解决办法

    这篇文章主要介绍了Mac操作系统下MYSQL数据库密码忘记的快速解决办法,教大家重置MYSQ密码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • Mysql Update批量更新的几种方式

    Mysql Update批量更新的几种方式

    今天小编就为大家分享一篇关于Mysql Update批量更新的几种方式,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • MySQL怎么给字符串字段加索引

    MySQL怎么给字符串字段加索引

    本文主要介绍了MySQL怎么给字符串字段加索引,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03

最新评论