tencent cloud

文档反馈

外键依赖检查

最后更新时间:2022-09-02 15:04:25

    MySQL/MariaDB/Percona/TDSQL-C/TDSQL MySQL 检查详情

    • 外键依赖只能设置为 NO ACTIONRESTRICT
    • 部分库表迁移时,有外键依赖的表必须齐全。

    TDSQL MySQL(TDStore)检查详情

    不支持外键依赖数据,如果源库有外键数据任务校验会报错。

    修复方法

    • MySQL/MariaDB/Percona/TDSQL-C/TDSQL MySQL:请修改外键参数为 DTS 支持的取值类型。
    • TDSQL MySQL(TDStore):请删除对应的外键参数内容。

    修改外键规则

    MySQL 在设置外键的时候,删除时和更新时有四个值可以选择。

    • CASCADE:父表进行删除或者更新记录时,子表会同步删除或更新关联记录。
    • SET NULL:父表进行删除或者更新记录时,子表会将关联记录的外键字段所在列设为 null(子表外键不能设为 not null)。
    • RESTRICT:父表执行删除或更新记录时,如果子表中有关联该父表的记录,则拒绝该父表删除请求。
    • NO ACTION:同 RESTRICT,也是首先检查外键。

    如果发生报错,请参考如下指导修复。

    Windows 操作指导

    1. 登录源数据库 DMC 平台
    2. 在左侧目标树上选中要修改的表,在打开的表编辑界面上,单击外键页签,修改外键参数,如下图所示。
    3. 修改完成后,单击保存
    4. 重新执行校验任务。

    Linux 操作指导

    1. 登录源数据库

    2. 删除原来的外键设置。

      alter table `表名称1` drop foreign key `外键名称1`;
      
    3. 重新添加外键设置。

      alter table `表名称1` add constraint `外键名称2` foreign key `表名称1`(`列名1`) references `表名称2`(`列名1`)
      on delete cascade on update cascade;
      
    4. 重新执行校验任务。

    完善迁移对象

    修改迁移任务配置,在迁移对象中勾选具有关联关系的对象。

    1. DTS 控制台,选择对应的迁移任务,在操作列选择更多 > 修改
    2. 迁移对象中勾选具有关联关系的对象。
    3. 重新执行校验任务。
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持