tongchenkeji 发表于:2023-5-16 18:27:450次点击 已关注取消关注 关注 私信 DMS中mysql数据表同步到adb后,bigint被转为decimal,这个怎么搞呢?雪花ID都变[阿里云数据管理DMS] 暂停朗读为您朗读 DMS中mysql数据表同步到adb后,bigint被转为decimal,这个怎么搞呢?雪花ID都变了 「点点赞赏,手留余香」 赞赏 还没有人赞赏,快来当第一个赞赏的人吧! 海报 数据管理DMS# MySQL1179# 云原生数据仓库 AnalyticDB PostgreSQL版825# 云数据库 RDS MySQL 版1517# 关系型数据库2577# 数据库管理1887# 数据管理1957
wljslmzAM 2023-11-28 6:03:46 2 问题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类型。可以在同步任务的“高级设置”中设置数据类型映射规则,确保目标表中的数据类型与源表一致。
有没有选择结构同步呢,可以提供下任务说下库表字段类型具体看下,此回答整理自钉群“阿里云DMS数据管理用户交流群”
问题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类型。可以在同步任务的“高级设置”中设置数据类型映射规则,确保目标表中的数据类型与源表一致。