跳转到主要内容
MySQL 的 ClickPipes 可以检测源表中的 schema 变更,并且在某些情况下会自动将这些变更传播到目标端表。下文说明了各类 DDL 操作的处理方式:
当前不支持在 snapshot 期间添加列。建议的变通方法是在计划中的 schema 变更之前或之后执行 snapshot;或者,如果 ClickPipe 已经失败,可手动向目标端表添加一个类型合适的列。

MySQL 5.x 限制

早于 8.0.1 的 MySQL 版本不会在 binlog 中包含完整的列元数据 (binlog_row_metadata=FULL) ,因此 ClickPipes 会按列的序号跟踪列。这意味着:
  • 在末尾添加列 (ALTER TABLE ADD COLUMN ...) 受支持。
  • 任何会导致列位置移位的 DDL 都会导致管道报错,因为届时将无法再可靠地按序号进行映射。这包括:
    • ALTER TABLE DROP COLUMN ...
    • ALTER TABLE ADD COLUMN ... AFTER ... / FIRST
    • ALTER TABLE MODIFY COLUMN ... AFTER ... / FIRST
    • ALTER TABLE CHANGE COLUMN ... AFTER ... / FIRST
如果遇到此错误,您需要重新同步该管道。
最后修改于 2026年7月1日