Skip to main content
MySQL 向け ClickPipes では、ソーステーブルのスキーマ変更を検出でき、場合によってはその変更を宛先テーブルに自動で伝播できます。各 DDL 操作の扱いは以下のとおりです。
現在、スナップショット中のカラム追加はサポートされていません。推奨される回避策は、予定しているスキーマ変更の前後でスナップショットを実行することです。また、ClickPipe がすでに失敗している場合は、適切な型のカラムを宛先テーブルに手動で追加してください。

追加したカラムのデフォルト値

追加したカラムについて、ClickPipes は値を安全に ClickHouse に変換できる場合にのみデフォルト値を伝播します。デフォルト値が伝播されると、ClickHouse は新しいカラムが追加される前のデータパーツを読み取る際にその値を使用します。その結果、ClickHouse にすでに存在する行にも、テーブル全体を更新することなくソースのデフォルト値が適用されます。 ClickPipes は、整数、10 進数、浮動小数点数のリテラル、ブール値、単純な文字列および日付の値に加え、MySQL server から完全な binlog 行メタデータが提供される場合は enum または set の値も伝播します。文字列リテラルは、ClickHouse と互換性のある引用形式に書き換えられます。 ClickPipes は、NULL、ビットリテラル、CURRENT_TIMESTAMPNOW()UUID() などの関数呼び出し、バックスラッシュまたは制御文字を含む文字列値など、移植性のないリテラルのデフォルト値を意図的に省略します。カラム自体は追加されますが、ClickHouse はそのカラムが追加される前のパーツに対して通常の型のデフォルト値を使用します。既存の行にソースのデフォルト値を設定する必要がある場合は、テーブル全体を更新する必要があります。 ClickPipes は、ALTER TABLE ADD COLUMN の一部としてのみデフォルト値を伝播します。カラムのデフォルト値を変更または削除する後続の操作は、ClickHouse には伝播されません。

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年8月14日