文档

DTS同步数据到AnalyticDB MySQL时出现“modify precision is not supported”报错

更新时间:

问题描述

数据同步过程中,出现'id' is LONG type, Can't change column type to DECIMAL或者modify precision is not supported, col=id, type decimal, old=11, new=21报错信息。

问题原因

数据同步过程中,存在不支持修改的字段类型。

解决方法

阿里云提醒您:

  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

对于修改字段类型的报错提示,可以通过以下两种方式解决问题:

  • 如果同步任务是整个数据库的同步操作,可以在AnalyticDB MySQL中新建一张表,表名不同于报错的表,表结构和源表的表结构保持一致,通过使用Insert Into SelectSQL语句将报错表中的数据写入新建表中,删除报错的表,然后通过Rename将新表更名为报错的表名,最后重启DTS任务。
  • 如果同步任务不是整个数据库的同步操作,则需要把这张表从同步对象中删除,然后重启DTS任务,等任务延迟追上后,再把表加入同步对象中重新同步数据。

更多信息

DTS同步数据到AnalyticDB MySQL时,关于如何修改源表中的字段类型请参见DTS同步数据到AnalyticDB MySQL是否可以修改源表中的字段类型

适用于

  • 云原生数据仓库AnalyticDB MySQL版
  • 本页导读 (1)
文档反馈