开发者社区 > 数据库 > 正文

DMS中mysql数据表同步到adb后,bigint被转为decimal,这个怎么搞呢?雪花ID都变

DMS中mysql数据表同步到adb后,bigint被转为decimal,这个怎么搞呢?雪花ID都变了

展开
收起
真的很搞笑 2023-05-16 18:27:45 291 0
2 条回答
写回答
取消 提交回答
  • 有没有选择结构同步呢,可以提供下任务说下库表字段类型具体看下,此回答整理自钉群“阿里云DMS数据管理用户交流群”

    2023-07-05 13:14:00
    赞同 展开评论 打赏
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    问题1:DMS同步MySQL数据表到ADB后,bigint被转为decimal。

    这可能是因为MySQL bigint类型和ADB bigint类型的存储方式不同导致的。一种解决方法是在DMS同步过程中选择自定义数据类型映射,将MySQL中bigint类型映射到ADB的bigint类型。如果已经同步完成,可以尝试使用alter table语句修改ADB表的bigint列类型。

    问题2:DMS同步MySQL数据表到ADB后,发现字段类型不正确。

    这可能是由于DMS在同步数据表时没有正确获取MySQL数据表的类型定义导致的。可以尝试重新同步数据表并选择数据和结构同步,这样会从MySQL中获取表的完整定义。同时,需要确保目标库中没有被其他数据写入或修改目标数据类型。

    问题3:DECIMAL(20,0)转为BIGINT或BIGINT[(M)] [UNSIGNED]转为BIGINT,数据同步的时候可以配置数据类型的转换。

    在DMS中,可以使用数据类型映射功能来修改数据类型的转换规则。例如,将DECIMAL(20,0)映射为BIGINT类型,或者将BIGINT[(M)] [UNSIGNED]映射为BIGINT类型。可以在同步任务的“高级设置”中设置数据类型映射规则,确保目标表中的数据类型与源表一致。

    2023-05-17 08:22:59
    赞同 展开评论 打赏

数据库领域前沿技术分享与交流

相关产品

  • 云数据库 RDS MySQL 版
  • 相关电子书

    更多
    金融行业高频交易数据管理解决方案 立即下载
    基于Spark的统一数据管理与数据探索平台 立即下载
    INFINIDATA:基于Spark的统一数据管理与探索平台 立即下载

    相关镜像