You need to enable JavaScript to run this app.
导航
将火山引擎版 MySQL 8.0 同步数据到 5.7 遇到报错 Error 1054 (42S22): Unknown column 'my_row_id' in 'field list' 怎么办?
最近更新时间:2025.04.21 11:56:08首次发布时间:2024.03.20 10:45:45
我的收藏
有用
有用
无用
无用

将火山引擎版 MySQL 8.0 同步数据到火山引擎版 5.7 遇到报错 Error 1054 (42S22): Unknown column 'my_row_id' in 'field list' 怎么办?

  • 可能原因:由于火山引擎版 MySQL 8.0 会自动为无主键表添加主键 my_row_id,然而,火山引擎版 MySQL 5.7 没有此主键列,因此,当从火山引擎版 MySQL 8.0 同步数据至火山引擎版 MySQL 5.7 时,可能会出现错误信息 Error 1054 (42S22): Unknown column 'my_row_id' in 'field list' ;当从火山引擎版 MySQL 5.7 同步数据至火山引擎版 MySQL 8.0 时,可能会出现报错 Error 1054 (42S22): Unk``nown column 'byte_rds_ai_uk_row_id' in 'field list'

  • 解决方案:在创建火山引擎版 8.0 同步数据到火山引擎版 5.7 任务或创建火山引擎版 5.7 同步数据到火山引擎版 8.0 任务时,您需要开启 ETL 并配置对应的 ETL 过滤函数过滤隐藏主键,ETL 过滤函数如下所示:

    (defn main []
      (case (car (dts/pk))
            "my_row_id" (dts/drop-column "my_row_id")
            "byte_rds_ai_uk_row_id" (dts/drop-column "byte_rds_ai_uk_row_id")))
    

    说明

    关于 ETL 的更多信息,请参见 ETL 简介