From 09bd684738388b151c8e9a3201c627f28f1152a1 Mon Sep 17 00:00:00 2001 From: Ti Chi Robot Date: Wed, 22 Jan 2025 15:12:50 +0800 Subject: [PATCH] ticdc: add a faq about generated column (#19035) (#19657) --- ticdc/ticdc-faq.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/ticdc/ticdc-faq.md b/ticdc/ticdc-faq.md index 816f2209d8f0..c9c03facb110 100644 --- a/ticdc/ticdc-faq.md +++ b/ticdc/ticdc-faq.md @@ -507,3 +507,11 @@ UPDATE t SET a="3" WHERE a="2"; } ] ``` + +## TiCDC 会同步 DML 操作中的生成列吗? + +生成列包括虚拟生成列和存储生成列。TiCDC 会忽略虚拟生成列,而仅同步存储生成列到下游。当下游是 MySQL 或其他与 MySQL 兼容的数据库,而不是 Kakfa 或其他存储服务时,存储生成列也会被忽略。 + +> **注意:** +> +> 当同步存储生成列到 Kafka 或存储服务后,再将其写回 MySQL 时,可能会遇到 `Error 3105 (HY000): The value specified for generated column 'xx' in table 'xxx' is not allowed` 错误。为避免该错误,你可以使用 [Open Protocol](/ticdc/ticdc-open-protocol.md) 进行同步。该协议的输出包含[列的 flag 值](/ticdc/ticdc-open-protocol.md#列标志位),可以区分是否为生成列。